Днес професията програмист се смята за модерна и престижна. Работата в областта на информационните технологии е заобиколена от ореол на романтика, обгърнат от легенди за успешни стартъпи и големи пари. И многобройните онлайн курсове предлагат да придобиете знания и да започнете да печелите само за 2-3 месеца.
Всичко това привлича много случайни хора към професията. И като резултат – разочарование, психологическо изгаряне и огромен брой некадърни нискоквалифицирани кадри. И всичко това, защото цялата тази романтична „люспа“ не е нищо повече от красива обвивка.
Програмирането е упорита работа, постоянно самообразование, пълно потапяне в процеса на работа и огромно количество скучна съпътстваща работа. Освен това, красивите истории за гениални стартъпи, които правят един разработчик милионер за една нощ, отдавна са влезли в сферата на приказките и легендите. Сега всеки софтуерен продукт, с изключение на може би прости уебсайтове в CMS, е резултат от екипната работа. А високите заплати в този екип ще бъдат за водещите разработчици.
Мит първи: Можете да се научите бързо
Първото нещо, което трябва да разберете е, че програмирането е невъзможно да се научи за няколко месеца. През това време можете да научите основите на даден език и основните понятия.
В действителност има два начина:
- Самообразование. Включително използване на различни тематични курсове. Обучението обикновено отнема около 2-3 години. В този случай трябва да се обърне максимално внимание на практиката. Създавайте програми, сайтове, различни за себе си и приятели.
- Образование в университет. Дипломата е добро нещо. Но тук ще трябва да се учите и самостоятелно. В процеса на изучаване ще получите задълбочени знания в областта на математиката, алгоритмизацията и др. По отношение на езиците за програмиране и софтуерните системи дори най-добрите университети безнадеждно изостават от времето.
И тогава трябва психически да се подготвите за непрекъснато обучение. ИТ индустрията се развива бързо. Появяват се нови езици за програмиране, а съществуващите се модернизират, постоянно се пускат нови версии на софтуерни инструменти.
Бъдете готови редовно да отделяте време за изучаване на нови системи, които ще остареят, преди да можете да ги разберете сериозно.
Мит втори: всеки може да програмира
Разбира се, изобщо не е трудно да научите основите на алгоритмизацията и уменията за компилиране на прости приложни програми.
Истинският програмист трябва да комбинира:
- Творческа натура. Каквото и да кажат, програмирането е творчество. Дават ви задача от гледна точка на потребителя, т.е. да опишете желания резултат. И как да реализирате това възможно най-ефективно, като използвате минимум ресурси и да комбинирате всичко това със съществуващите системи и списъка с желания на клиента. Понякога се налага да комбинирате несъвместимото. И тук се нуждаете от творчески подход.
- Аналитичен начин на мислене. Програмата винаги е логика. Един програмист ще се нуждае от способността да структурира информация, да създава сложни алгоритми, да работи в клъстеринг и много други. Тук са важни ясна последователност, внимание към детайлите. Всяка небрежност в кода може да доведе до критични грешки в бъдеще.
- Устойчивост на стрес и умението за работа в екип. Времето за интровертно самотно програмиране си отиде. Сега е важно да намерите общ език с клиенти, ръководител на проекта и колеги. И добре, ако вашият ръководител на проекти е ИТ специалист, поне ще говорите на същия език. И ако той е един от мениджърите, тогава ще трябва да обяснявате много пъти нещата, които са ви очевидни от поредицата „Защо е невъзможно“ или „Защо е само по този начин, а не по друг начин“.
- В същото време не забравяйте, че в допълнение към решаването на проблема, т.е. директно програмиране, ще трябва да съставяте техническа документация и ръководства за потребителя, да разработвате тестове и понякога месеци, за да улавяте грешки в кода. Вие също трябва да можете да четете код на някой друг, което често се превръща в истински кошмар. И не забравяйте да оставите коментари в кода за колегите, които някога ще се занимават с модификации на системата.
Много често срещана ситуация: в процеса на обучение всичко беше лесно, човек ясно показа способности. След няколко месеца реална работа програмистът губи интерес към работата. Най-често причината е рутина, която не съответства на характера.
Професионалното изгаряне е често срещано нещастие сред младшите програмисти. Част от ревността е твърде потопена в процеса и забравяме за останалото. В резултат на това те са изтощени. В този случай почивката и компетентното планиране на времето ще ви помогнат. Други, поради личностните си черти, са разочаровани от работата си. Липсва им движение и промяна. Те вече са решили проблема „по принцип“ и тогава става скучно. В този случай е по-добре да напуснете професията възможно най-скоро. Няма смисъл да останете друг „лош програмист“ без никакви перспективи. По-добре е да помислите предварително дали сте готови за всички функции на работата.
Мит три: елитарността на професията програмист
Специално, понякога дори ентусиазирано отношение към IT специалистите от страна на хората, които са чели същите „истории за успех“. Може би мама мног ще се гордеее с това. По-малко успешните приятели ще ви гледат отдолу нагоре. Може да се окаже, че ще започнете много по-бързо, отколкото връстниците, наети в други области, да получавате приличен доход. А когато достигнете до висше ниво, колегите от професионалните общности ще ви завиждат. На това всъщност целият „елитаризъм“ свършва.
Говоренето за „нова нация“ или за „специална каста на избраните“, така обичана в разговорите на програмистите, всъщност не е нищо повече от самовлюбване.
Работодателите ще се отнасят с вас като с обикновени технически специалисти, не по-добри или по-лоши от автомобилен механик или производствен инженер. Всъщност вие наистина не сте много по-различни от тях, освен че заплатите на водещи специалисти в областта на информационните технологии са малко по-високи. Но преди това все още трябва да растете.
В днешно време единици успяват да участват в разработването на нещо наистина ново и важно. В повечето случаи това са талантливи програмисти с висше образование, които също са успели да овладеят свързани индустрии.
Например „просто програмист“ никога няма да бъде приет в космическа програма. Тук се нуждаете от знания в ракетната наука. По подобен начин във всяка друга иновативна област.
Ако амбициите ви се разширят в тази посока, получете образование, изучете допълнителни дисциплини, станете не просто програмист, а химически програмист или програмист по физика и т.н. В противен случай вие ще се занимавате с внедряването на софтуерни решения в търговската област през целия си живот, ще се забивате в чужд код и ще пишете километри форми.
Привлича ли ви такава перспектива? Готови ли сте да отделите месеци и години за внедряване на поредната ERP или CRM система, просто защото самият процес е удоволствие? Ами тогава, вие наистина сте истински програмист. И това, както се казва, е повече диагноза, отколкото професия.