Профессия – программист | Южно-российский центр соционики
Программист – специалист, разрабатывающий программное обеспечение (ПО), алгоритмы и компьютерные программы на основе специальных математических моделей для компьютеров (персональных, промышленных, встраиваемых и т.д.). Иначе говоря – человек, занимающийся программированием.
Особенности профессии
Для хорошего программиста важны не только практические навыки, но и его идеи. В поиске творческих решений российские специалисты считаются наиболее сильными.
По специализации программистов можно разделить на следующие категории:
1. Прикладные программисты – разрабатывают программное обеспечение прикладного характера: редакторы, игры, мессенджеры, бухгалтерские программы. А также ПО для систем видео-, аудио-наблюдения, пожарной сигнализации и пожаротушения, СКД и т.д.
2. Системные программисты – занимаются разработкой операционных систем, написанием интерфейсов к распределительным базам данных, работой с сетями, сервисами, управляющими вычислительной системой. Это самая высокооплачиваемая категория специалистов.
3. Web-программисты – работают, в основном, с глобальными сетями Интернет, занимаются созданием динамических web-страниц, web-интерфейсов к базам данных, программного обеспечения, составляющего сайты.
Необходимые качества программиста
– умение сравнивать, анализировать, обобщать и систематизировать информацию;
– умение быстро адаптировать программы к настоящему состоянию технологий;
– понимание структуры и объективных закономерностей;
– видение различных вариантов и возможностей;
– склонность к экспериментам;
– умение работать с большими объемами информации.
Где может работать программист
Для большинства предприятий, вновь организованных или давно работающих, вопрос автоматизации встает рано или поздно. Программист становится консультантом между руководителями и миром высоких технологий. Он может руководить крупным проектом, разрабатывая ПО, а может работать «одиночкой», пишущим код конкретной программы.
Как устроиться программистом без опыта работы, junior разработчик
Программисты являются едва ли не самыми высокооплачиваемыми специалистами не только в России, но и во всем мире. Знание методов «общения» с компьютером могут пригодиться в любой сфере человеческой деятельности. Программирование как профессия никогда не потеряет своей актуальности, поскольку электронных гаджетов становится все больше, а значит, люди, пишущие для них приложения, будут продолжать пользоваться огромным спросом. Задумав стать кодером, вы принимаете правильное решение, однако ставите себя перед выбором: куда пойти учиться на программиста? Курс молодого бойца позволит вам получить основательные знания, сделать первые шаги в программировании и устроиться на высокооплачиваемую работу своей мечты.
Способы обучения
По данным сайта Stack Overflow, 48% программистов не имеют профильного высшего образования. Около 42% специалистов изучали код самостоятельно, чуть больше 36% опрошенных обучались непосредственно на месте работы, а 18% респондентов окончили онлайн-курсы. Учиться на программиста можно совершенно разными способами, и зарплата кодеров совершенно не зависит от престижности оконченного ВУЗа. Работодателей больше интересуют реальные знания и умения сотрудника: именно за них компании готовы ежемесячно платить солидные суммы. В США хорошие программисты получают $77-100 тыс. в год, в Западной Европе – $53-60 тыс. В России зарплаты гораздо скромнее, однако доходы многих программистов на порядок превышают среднестатистические.
Таблица. Зарплаты российских программистов
Должность | Заработная плата, тыс. долл. |
---|---|
Начинающий программист (стажер) | 0,5-0,7 |
Опытный программист (не IT-сфера) | 1-1,2 |
Опытный программист (IT-сфера) | 1,2-1,5 |
Ведущий программист | 1,5-2 |
Начальник отдела IT | 2-3 |
Руководитель проекта | 3 и более |
Попробуем разобраться, куда пойти учиться на программиста, чтобы получать такие зарплаты.
Обучение в ВУЗе
Изучение программирования в профильном высшем учебном заведении даст вам хорошую теоретическую базу, 4-5 лет разгульной студенческой жизни и возможность избежать службы в армии. Обучиться специальности можно практически в любом техническом ВУЗе страны. В Москве теория и практика программирования преподается в следующих учебных заведениях:
- государственном технологическом университете им. Баумана;
- институте радиоэлектроники и автоматики;
- государственном технологическом университете «Станкин»;
- институте стали и сплавов;
- физико-техническом институте, а также многих других университетах.
Поступая в ВУЗ, будьте готовы к тому, что за учебу придется выложить много денег, вам будут преподавать ненужные предметы, трепать нервы на сессиях, да и практика программирования в современных ВУЗах не всегда организована на высоком уровне . Наверное, поэтому многие будущие программисты выбирают альтернативные методы обучения.
Самообразование
В эпоху интернета освоить программирование самостоятельно может каждый человек, имеющий усидчивость и четкую цель. В сети размещено множество электронных книг и сайтов, пошагово объясняющих каждый этап написания программ, а возникающие в процессе обучения вопросы начинающий программист вполне может задавать на форумах, получая ответы от опытных коллег.
Чтобы учиться на программиста самостоятельно, вам не нужно иметь много денег, а в процессе вы дополнительно приобретаете очень ценные качества: умение искать нужную информацию и способность решать задачи без посторонней помощи. Эти навыки очень пригодятся вам в дальнейшей работе.
В то же время самостоятельная учеба на программиста – процесс длительный и тяжелый . Вам может быть трудно самостоятельно систематизировать получаемые знания, а чтобы устроиться на работу, придется на практике демонстрировать свои навыки, не подтвержденные официальными дипломами и сертификатами.
Репетитор
Если вы задаетесь вопросом, как стать хорошим программистом, не забывайте о возможности занятий с репетитором. Хороший преподаватель способен обучить вас основам кодинга в предельно сжатые сроки, не будет нагружать лишней информацией, поделится секретами профессии и ответит на все вопросы.
В то же время найти квалифицированного репетитора довольно сложно, при этом даже с самым грамотным специалистом можно попросту не сойтись характерами. И, конечно, за индивидуальное обучение начинающий программист должен будет выложить солидную сумму
Офлайн-курсы
Пройти курсы программистов предлагает сегодня практически любая компьютерная школа. Стоит такое обучение относительно недорого, а после его окончания выдается соответствующий сертификат, который может немного увеличить ваши шансы на получение хорошей работы.
Правда, иногда выбрать, где учиться на программиста, бывает очень проблематично.
Профессия программист плюсы и минусы
В крупных городах ассортимент курсов довольно велик, но вы будете тратить много времени и сил, чтобы добраться до места учебы . В провинции подобные занятия часто грешат недостаточно высокой квалификацией преподавателей. При этом в отдельных городах учеба на программиста может оказаться невозможной из-за отсутствия курсов в принципе.
Онлайн-курсы
Разыскивая информацию о том, где учиться на программиста, вы наверняка наталкивались на множество объявлений о виртуальных курсах и школах. Такой метод становится все более популярным среди людей, мечтающих о профессии кодера. Как правило, онлайн-курсы имеют сильную команду преподавателей, готовых не только провести групповое занятие, но и дать частную консультацию. Любая работающая в сети компьютерная школа не требует от студентов лишних временных и транспортных затрат, а лекции часто записываются и выкладываются на официальном сайте, так что вы в любой момент можете пересмотреть видео. Это очень удобно для слушателей, которые по каким-либо причинам не смогли быть онлайн в назначенное время.
Таким образом, если вы хотите не просто получать высокую зарплату, а задумываетесь о том, как стать хорошим программистом, без обучения вам не обойтись. И удобнее всего проходить его на онлайн-курсах, сидя в любимом кресле и получая информацию от опытных преподавателей . Весьма популярен в рунете «Курс молодого бойца», на котором вы не только научитесь основам программирования, но и сможете просматривать видеозаписи прошедших занятий, советоваться со специалистами, а в конце получите сертификат в электронном и бумажном виде.
Учеба на программиста – дело сложное и ответственное, но с опытными преподавателями этот процесс будет приносить вам только удовольствие, а успешное завершение курса станет гарантией престижной должности и хорошего заработка.
Актуальна ли профессия программиста? — «Хакер»
Содержание статьи
Программист — одна из профессий, представители которой не беспокоятся за свое будущее. Интересно, почему? Останется ли профессия актуальной через двадцать лет?
Зачем нужны компьютеры и программисты?
Лень — двигатель прогресса. Благодаря ей были созданы многие вещи, которыми мы пользуемся в повседневной жизни, в том числе и компьютер. Человек ленился делать вычисления вручную и автоматизировал этот процесс.
Автоматизация — штука хорошая, но есть и обратная сторона медали. Вспомним ХХ век: тотальная индустриализация. Огромные заводы с тысячами рабочих мест, небольшие города вокруг этих заводов. Сейчас людей на рабочих местах сменяют роботы. Так, в этом году была открыта полностью автоматизированная линия производства кроссовок Adidas в Германии.
У роботов неоспоримые преимущества: они не отдыхают, не ошибаются, не болеют, не совершают самоубийств из-за проблем в личной жизни, а главное — им не нужно платить зарплату. Люди боятся потерять рабочее место и лишиться средств к существованию.
Программисты понимают, что автоматизация неизбежна, а также — что благодаря ей у них всегда будет работа.
Как говорит исследование Оксфордского университета за 2015 год (The future of work, доступно по ссылке), первыми в очереди на исчезновение стоят профессии продавца, бармена, оператора кол-центра, офис-менеджера (секретаря), банковских служащих. Их место займет один программист, обслуживающий нейросеть. Ведь каким бы высококлассным ни было программное обеспечение, «железо» нужно кому-то обслуживать, а программное обеспечение — совершенствовать.
Альтернативное мнение: программист — мертвая профессия
Многие считают, что профессия программиста неактуальна. Ведь скоро искусственный интеллект начнет создавать сам себя, а роботы научатся чинить роботов.
Но искусственный интеллект такого уровня — дело будущего, а полностью автоматизированные рабочие места — дело настоящего. Терминалы самообслуживания, автоответчики в кол-центрах — все это примеры автоматизации, ставшие реальностью. В то же время никто не задумывается, что один терминал самообслуживания смог сократить количество сотрудников банка. Выдать наличку и принять оплату вполне может и «робот». А чем больше таких терминалов, тем больше работы у программистов.
Пока ты сомневаешься, актуальна ли профессия программиста, Tesla уже достраивает свою «Гигафабрику» в Неваде, и как думаешь, кто там будет нужен в первую очередь?
Смартфоны, планшеты, смарт-часы, фитнес-браслеты, системы управления умным домом, дроны (например, роботы-уборщики) требуют огромной армии программистов. Ее «солдаты» ежедневно создают новые приложения, чтобы тебе жилось комфортно. Присоединяйся к этой армии!
Программистов готовят с детства
Раньше информатику преподавали начиная с десятого класса: первый раз человек видел компьютер в шестнадцать лет. Я был крайне удивлен, когда зашел в школу и обнаружил на первом этаже, где обучаются младшие классы, кабинет информатики.
Сегодня программируют даже дети дошкольного возраста, для которых специально разработаны обучающие языки. Самые известные — это Scratch от MIT и Blockly от Google.
Оба языка построены по одинаковому принципу: каждая команда представляется в виде графического блока. Дети соединяют блоки в цепочки, задающие последовательность действий программы.
Издательства уже начали выпускать книги, в игровой форме обучающие программировать на Python. Например, книга «Hello World! Computer Programming for Kids and Other Beginners» вышла уже вторым изданием и была переведена на русский язык (под названием «Hello World! Занимательное программирование»).
Быть программистом удобно
Программист может работать удаленно, тогда, когда ему удобно, лишь бы он вписывался в дедлайн заказчика/работодателя. Покажи мне хоть одного бармена, который может так сделать!
При желании ты можешь уехать в любую страну, где всегда тепло и море рядом, и работать оттуда. Можешь никуда не выходить, работать дома (например, я работаю дома уже больше десяти лет). Проснулся — и ты уже на работе, не нужно ехать в офис, торчать в пробках, толкаться в метро.
Кроме свободного графика, у профессии программиста есть еще одно преимущество: оплата в валюте или привязка зарплаты к валюте. Ты сможешь сконцентрироваться на работе и не переживать, что валюта подорожает (а вместе с ней все остальное) и ты будешь меньше зарабатывать.
Как мне стать программистом?
Думаешь, обучение программированию требует много времени и дорого стоит?
Чтобы стать программистом, необязательно пять-шесть лет отдать вузу. Да и это неправильно: в вузе учат теории, а не практике. Практики программирования на занятиях мало, а программа обучения застряла в прошлом веке. Например, в одном из местных вузов обучают программированию на Pascal и Delphi, потому что PHP, C# и .NET не предусмотрены образовательной программой.
Ты будешь удивлен, если я скажу, что 14% программистов Google не имеют даже диплома об окончании колледжа, не говоря уже о вузе? Многие учатся сами: оканчивают курсы, чтобы найти первую работу в сфере программирования. А дальше все идет по накатанной — ты приобретаешь опыт, оттачиваешь свои профессиональные навыки и переходишь на высокооплачиваемую работу.
Таким стартом могут оказаться для тебя курсы программирования GeekBrains. Например, вот здесь можно стать веб-разработчиком, а здесь — разработчиком C#.
Еще не определился с выбором направления? Загляни в список доступных курсов или позвони по номеру 8 800 700-68-41, где тебе помогут выбрать профессию. По России звонок бесплатный. А пока ты думаешь, стоит звонить или нет, посмотри один из уроков программирования на Python от GeekBrains:
А сложно ли работать программистом? / Инфопульс Украина corporate blog / Habr
Этот вопрос мне часто задают вокруг. Задают родственники, друзья, дети друзей и вообще незнакомые люди. У всех своих цели — кто-то хочет сменить род деятельности, кто-то только выбирает куда пойти учиться, а кто-то желает в первую очередь убедить себя в том, что «вот еще и этим бездельникам ни за что деньги платят». Что же ответить на этот вопрос? Честно говоря, первым делом, конечно, хочется выпятить грудь колесом и двинуть речь о том, что, дескать, окромя нечеловеческого ума и 10 лет глубокой математической подготовки нужно еще иметь природный талант и пахать круглосуточно… Но где-то на третьей минуте этого увлекательного текста включаются мозги и здоровый скептицизм, требующий на время замолчать и немного подумать.
А и правда — сложно ли?
Кодеры vs программисты
Как-то так исторически сложилось, что в самом IT-мире принято отделять «кодеров» от «программистов». Дескать, первые тупо клепают что-то по шаблонам и указаниям сверху, а вот вторые — ТВОРЯТ. Мне это разделение никогда не нравилось. Любому порой может попасться глупая и нудная работа. Писать простой код можно не потому, что ты глуп или ленив, а потому, например, что ты молод и только учишься или хочешь сменить вид деятельности. Более того, сама по себе надпись «программист» на бейджике даже вместе с тем фактом, что ты вроде бы должен как раз «творить», а не «кодить», тоже ничего не значит. Бывает, что «программисты» такого напишут, что кажется, будто они мозги вообще не включали по ходу работы, а бывает и наоборот — рядовой трудяга что-то эдакое заавтоматизирует — и вот уже все смотрят на результат с восторгом. Вывод: формальное название должности не определяет степень сложности работы.
Узкая специализация vs широкая
Есть программисты узкого профиля, а есть программисты широкого профиля. Первые знают, каким именно должен быть параметр Х в методе Y класса Z, для того, чтобы код работал оптимально при выполнении задачи W. Вторые могут не догадываться не только о параметре X, методе Y и классе Z, но даже о существовании задачи W. Первые потратили очень много времени и сил на совершенствовании в своей области, им было тяжело в учении, но зато теперь легко в бою. Вторые тоже учились прилежно и усердно, но больше — общим принципам, универсальным языкам и распространённым задачам. Им было легче в учёбе, но каждый новый день бросает им новые вызовы. Некоторые из них можно перекинуть на узкоспециализированных коллег, но большинство придётся решать самим. Что лучше — поработать в молодости «на будущее» и почивать на лаврах своих знаний, или каждый день вступать в новый бой, «размазывая» сложность во времени? Не знаю. В молодости легче учиться, но предметная область может перестать быть актуальной. С другой стороны, каждый день тратить кучу мозговых усилий на то, что спец в этой сфере сделал бы за минуту — слегка унизительно. Каждый решает сам.
Хочу думать или не хочу
К сожалению, работа программиста порой напоминает работу укладчика парашюта: на результат никто не жаловался. Либо всё хорошо и все молодцы, либо «всё пропало» — но тогда окажется, что и сроки были плохо рассчитаны, и бюджет никакой, и людей мало, и задание глупое, и заказчик плохой и еще 150 причин. «Хороший программист всегда объяснит, почему выданное задание сделать ну никак невозможно». Профессия программиста часто ставит человека перед выбором: думать или не думать? Баг пофиксился каким-то костылём. Думать как сделать лучше, или и так сойдет? Система вроде бы стабильно работает при 10 запросах в секунду. Думать, что будет при 100 или не думать? Сделать рефакторинг или ну его? Свой велосипед или общепризнанное решение? Заложить архитектуру с запасом — или пока и так сойдет?
На каждом шагу есть соблазн увильнуть. Слабый духом программист будет это делать. Многие люди не хотят лишний раз думать и (вот парадокс!) будут постоянно думать, как этого достичь. Есть выбор: усложнять свою жизнь, или не делать этого. Каждый решает сам.
Ограниченность возможностей ума
Есть такая шутка, что, мол, самым лучшим образом природа распределила между людьми ум, поскольку люди часто жалуются на непослушные волосы, некрасивую форму ушей или длинный нос, но никто никогда не пожалуется, что ему досталось маловато ума. Так вот, чушь это всё. Я вот лично жалуюсь, что мне как-раз ума досталось маловато. Я помню только ограниченное количество информации, из-за чего постоянно приходится что-то куда-то записывать. Я отчаянно завидую компьютерам, в которых за какую-то смешную сотню баксов можно поставить новый процессор, удвоив его скорость работы. На понимание какого-то алгоритма я трачу в тысячи, в миллионы раз больше времени, чем компьютер — на его исполнение. Я порой сталкиваюсь с невозможными задачами — и отступаю. Я иногда недооцениваю сроки выполнения задач. Да попросту откровенно торможу порой! И поэтому да, мне частенько бывает сложно именно в силу ограниченности моего ума. Завидую тем, у кого всего-лишь нос длинноват, а вот с головой всё в самый раз.
А должно ли вообще быть сложно хорошему программисту?
Много лет назад «быть хорошим программистом» означало уметь писать эффективные алгоритмы, выжать лишний процессорный такт, сэкономить десяток байтов памяти. Сегодня это не так. Все базовые алгоритмы имеют прекрасные реализации на всех возможных языках, масса разнообразных полезных вещей собрана в хороших, проверенных библиотеках. На сегодняшний день основное свойство «хорошего программиста» — уметь построить из готовых кубиков программу, минимизировав её сложность (тем самым и надежность повысится, и скорость работы, и стоимость сопровождения уменьшится). Именно уменьшение сложности сегодня является самым важным. Если вдуматься, всё, что было придумано в программной индустрии за последние пару десятилетий, служит именно этой цели. Для чего нужно ООП? Чтобы стало проще и понятней. Зачем нужен UML? Уменьшить хаос. Интерфейсы? Управляемые языки? MVC? MVVM? Всё на тот же алтарь. Получается, что умело применяя современные инструменты, программист должен писать только простой, компактный и понятный код? Получается, что хорошему программисту не должно быть сложно, ведь если ему сложно — значит он просто еще не освоил инструменты, которые сделают его работу простой и понятной? Так? А вот и нет. Применение всего вышеуказанного инструментария сделало возможным построить такие системы, которые невозможно было создать раньше. Windows 8 и iOS 6 были созданы в 2012 году не потому, что 20 лет назад не могли нарисовать их дизайн или не было подходящего железа. Всё дело в том, что те способы создания программ, те методологии управления программистами и те подходы к написанию кода просто не могли дать на выходе систему столь высокой сложности, как нынешние ОС. Люди работали на пределе сил, но в итоге сделали намного более простые системы. Сегодняшние программисты тоже работают на пределе сил. И абсолютно точно, что через 20 лет люди будут посмеиваться и над Win8 и над iOS 6, указывая на то, какими примитивными и несовершенными они были. Будем верить, что они тоже поймут, что современные программисты старались, как могли.