В чем заключается работа программиста: описание профессии, где учиться и работать, плюсы и минусы профессии – Чем же занимаются программисты, и как объяснить это остальным? / Habr

Содержание

Профессия Программист: где учиться, зарплата, плюсы и минусы

Программист — это специалист, который занимается разработкой алгоритмов и компьютерных программ на основе специальных математических моделей. Профессия перспективная и очень востребованая во всём мире, зарплата программиста в России в диапазоне 25000-200000 (медианное значение). Стать программистом можно любом возрасте. Профессия подходит мужчинам и женщинам с интересами к программированию, математике, языкам, а так же хорошими аналитическими способностями и развитой логикой (пройти тест можешь ли ты стать программистом). Существуют вузы, курсы и колледжи, обучающие программированию, но выучиться возможно и самостоятельно, как правило, выше ценятся программисты с высшим техническим образованием. Существуют разновидности программистов. Профессия имеет свои плюсы и минусы. Профессия подходит тем, кого интересует информатика (см. выбор профессии по интересу к школьным предметам).

Читайте также:

Разновидности

В программировании на первое место ставятся не только практические навыки, но и идеи специалиста. Программистов можно условно разделить на три категории в зависимости от специализации:

  1. Прикладные программисты занимаются в основном разработкой программного обеспечения прикладного характера — игры‚ бухгалтерские программы‚ редакторы‚ мессенджеры и т.п. К области их работы также можно отнести создание программного обеспечения для систем видео- и аудио-наблюдения‚ СКД‚ систем пожаротушения или пожарной сигнализации и т.п. Также в их обязанности входит адаптация уже существующих программ под нужды отдельно взятой организации или пользователя.
  2. Системные программисты разрабатывают операционные системы, работают с сетями, пишут интерфейсы к различным распределенным базам данных. Специалисты этой категории относятся к числу самых редких и высокооплачиваемых. Их задача состоит в том‚ чтобы разработать системы программного обеспечения (сервисы)‚ которые‚ в свою очередь‚ управляют вычислительной системой (куда входит процессор‚ коммуникационные и периферийные устройства). Также в список задач входит обеспечение функционирования и работы

В чем заключается работа техника-программиста


Вне зависимости от того, какое образование у программиста – техник он или инженер, чтобы состояться в этой профессии, ему необходим набор некоторых особых личных качеств. Прежде всего, он должен уметь мыслить логически и просчитывать события на много ходов вперед. Ему также потребуется внимательность, усидчивость и уметь заниматься не только творческой работой, но и довольно рутинной. Подчас, чтобы воплотить в жизнь креативную идею, ему нужно будет потратить более 90% времени на ее реализацию и отладку программы. Конечно, без целеустремленности и настойчивости в этой профессии не обойтись, также, как и без развитого интеллекта, способности к точным наукам и умения концентрироваться.

Чтобы поступить на работу в должности техника-программиста, человек должен иметь среднее профессиональное образование, очень хорошо, если у него также будет и стаж работы по этой специальности.


Конечно, то, в чем будет заключаться работа техника-программиста, во многом зависит от того, в какой области он будет работать, каким видом деятельности занимается компания. Но есть, конечно, и общие требования и знания, которые пригодятся ему на любом рабочем месте. Прежде всего, ему необходимо в совершенстве знать компьютеры и используемые совместно с ними устройства, а также устройства сбора, обработки и передачи информации, правила их обслуживания и эксплуатации. Потребуется знание методов и технологии автоматизированной обработки информации, основных языков программирования, специализированных программных продуктов, используемых в работе данного предприятия.

В должностные обязанности техника-программиста обычно входит работа по обеспечению бесперебойной работы вычислительных систем и техники, установленной на рабочих местах пользователей. Ему нужно будет выполнять подготовительные операции, связанные с работой локальных компьютерных сетей, вести наблюдение за тем, как функционируют рабочие станции, осуществлять техническую помощь.

От него может потребоваться разработка простейших утилит и рабочих программ, позволяющих оптимизировать производственный процесс, он должен производить их отладку и тестирование. В некоторых случаях ему могут поручить составление простейших схем технологических процессов обработки различных информационных потоков на предприятии или отдельных алгоритмов решения тех задач, которые стоят пред отделом IT. На многих предприятиях техники-программисты занимаются ведением баз данных, их наполнением, хранением, обработкой. Техник-программист на любом предприятии должен уметь работать с большими массивами данных, знать правила их архивирования и хранения, он должен иметь представление о том, чем занимается компания, вникать в технологические процессы.

описание, обязанности, навыки и знания, обучение

Подробности
Обновлено: 26.01.2020 13:53
Автор: Сергей Краковский
программист возле компьютера Поделитесь в сети:

 

Программист – это человек, разрабатывающий компьютерные алгоритмы и программы, опираясь на математические модели.

Существует два направления программирования — системное и прикладное. Системные программисты имеют дело с ОС, интерфейсами для баз данных, сетями. Прикладные – с сайтами, программным обеспечением, приложениями, редакторами, соцсетями, играми и т.д.

Содержание:


История профессии


Сейчас профессия программист считается преимущественно мужской, но первым человеком, создавшим компьютерную программу, была женщина – Ада Лавлейс. Случилось это в 30-хх годах ХХ в, когда Чарлз Бэббидж создал прообраз современного компьютера. Сконструированная им аналитическая машина могла выполнять только элементарные арифметически действия, она была огромной и внешне мало напоминала современный компьютер.

В 40-хх годах XX в. благодаря Джону фон Нейману на свет появилась первая цифровая электронно-вычислительная машина. Для нее приходилось писать очень подробные, описывающие каждый шаг программы. Появление алгоритмических языков программирования значительно упростило этот процесс. В настоящее время программирование стремительно развивается.


Особенности профессии


Профессия программист

является одной из наиболее престижных и высокооплачиваемых. По сути, работать можно и без диплома ВУЗа, достаточно быть талантливым специалистом.

Тем, кто выбрал для себя программирование, нужно быть готовым к авралам, ненормированному рабочему дню и постоянной необходимости объяснять профессиональные моменты доступным для окружающих языком.

Существует много направлений в программировании и основные из них:

Нередко программисты занимаются фрилансом или работают удаленно.


Обязанности


Программист разрабатывает программы с помощью математических алгоритмов. Перед началом работы ему необходимо составить алгоритм либо найти оптимальный способ решения конкретной задачи.

Работа программистом заключается в переводе информации на понятный компьютеру язык. Также он определяет содержание и форму исходных и конечных данных, проверяет программы, продумывает схемы и макеты ввода, сохранения, методы контроля исполняемых машиной операций, обработки и выдачи информации, отлаживает уже имеющиеся программы.

К обязанностям программиста относится:

  • создание и внедрение автоматизационных методов программирования,
  • алгоритмических языков.

Кроме того, специалист типизирует и унифицирует процессы вычисления, разрабатывает документы для машинной обработки, проверяет программы, созданные другими. И это только часть того, что должен уметь делать хороший программиста.


Важные качества


Программист – это человек, который склонен к самообучению.

Компьютерные технологии развиваются стремительно, поэтому данное качество имеет большое значение.

Хорошему специалисту нужны:

  • аналитические способности;
  • логическое мышление;
  • гибкий;
  • быстрый ум;
  • отличная память;
  • внимательность;
  • умение концентрировать и переключать внимание;
  • формулировать свои мысли, воображение.

Программист должен быть терпеливым, педантичным, целеустремленным, ответственным. Для него важно уметь самостоятельно принимать решения и отстаивать свое мнение. Не обойтись без развитых математических способностей и технического склада ума.


Навыки и знания


Работа программистом требует знания технического английского, владения несколькими языками программирования.

Претендент на должность ведущего специалиста должен уметь управлять проектами, организовывать работу коллектива, находить подход к людям.


Перспективы и карьера


Начинать карьеру лучше всего с работы в группе специалистов, работающих над крупным проектом. Программиста может стать руководителем IT-проекта или группы, IT-директором компании.


Обучение


Программист – это специальность, не требующая диплома ВУЗа. Освоить профессию можно как в университете, так и на курсах или даже самостоятельно.

На данный момент существует достаточно специализированных книг, статей, онлайн-лекций и семинаров. Главное, что необходимо будущему программисту – разбираться в математике, информатике, физике. Но теоретических знаний мало, для полного обучения необходим практический опыт.

Поделитесь в сети:

плюсы и минусы, личные качества, требования, обязанности

Если говорить упрощенно, то программисты это люди, которые используют математические модели для создания различных программ и алгоритмов.

Основной задачей программиста является разработка компьютерных программ и алгоритмов, доработка и упрощение существующего ПО.

При современном уровне развития технологий практически любая фирма заинтересована в том, что бы автоматизировать процессы, которые происходят на предприятии, такие как:

  1. внутрисетевая работа компании,
  2. обмен сведениями между отделами,
  3. инвентаризация продукции,
  4. снабжение корпорации,
  5. продажи товаров посредством интернет-технологий.

Именно в этих вопросах основную роль играют такие специалисты, как программисты. Они создают такие программы и приложения, которые учитывают специфику и направленность любого предприятия, от туристической фирмы до спортивных объектов.

История профессии программиста

Программирование начало зарождаться очень давно, и в начале своего пути было очень похоже на искусство, поскольку не имело еще никаких законов, рамок и правил.

Первым программистом, как это ни странно, была женщина. Её звали Ада Лоулейс. Всё началось с того, что в 1833 году известный британский математик Чарльз Беббидж сконструировал первую так называемую «аналитическую» машину. Она выполняла самые простые математические действия. Именно Ада Лоулейс в свою очередь смогла написать первые несколько программ для нового изобретения.

Новый виток развития профессия получила в начале сороковых годов двадцатого века, с появлением первых цифровых электронно-вычислительных машин. Их создавал американский математик фон Неиман. Программы, составляющиеся для первых машин, были предельно подробными, и они учитывали каждую вычисляемую операцию, каждый логический шаг. Аппарат имел свой собственный уникальный язык, кроме которого машина не понимала никакой другой.

Дальнейшее создание специальных языков программирования позволило вывести отрасль на новый качественный уровень, то есть составлять программы с помощью алгоритмов, специальных символических форм, которые соответствовали конкретному языку. В процессе развития также были изобретены специальные программы, преобразующие языки из алгоритмического в машинный.

В нынешнее время с постоянным развитием науки и техники существует множество новейших разработок в этой области и с каждым днём отрасль получает всё большее и большее развитие.

Профессиональный праздник

День программиста отмечается в разных странах по-разному. К примеру, в России и в Украине он отмечается в сентябре. В Российской Федерации его празднуют 13 сентября, а в Украине каждую первую пятницу того же месяца.

Разновидности (специализации)

Всех представителей этой профессии можно распределить на три категории:

  • Специалисты по прикладным программам. Эти люди составляют конкретные программы для определённых предприятий. К таким разработкам относится бухгалтерская программа 1С, либо логистическая – ABM Rinkai TMS.
  • Системные программисты – это сотрудники, которые занимаются программированием операционных систем, интерфейсом к базам распределения данных, работой с сетью.
  • WEB-программисты так же, как и представители предыдущей категории трудятся в сетевой сфере, однако в более глобальном масштабе. Они создают различные сайты, web-интерфейсы и динамические электронные страницы и так далее.

Плюсы и минусы работы программистом

Как и все остальные профессии, эта имеет свои преимущества и недостатки. Рассмотрим некоторые из них…

Плюсы специальности:

  • возможность постоянно развиваться, прогрессировать и совершенствоваться;
  • высокий уровень самовыражения и самореализации;
  • на рынке труда;
  • ;
  • перспектива работы без получения диплома о высшем , достаточно лишь сертификата об окончании курсов определённой направленности;
  • огромный простор для проявления творческих и креативных возможностей человека.

Минусы профессии:

  • сложность восприятия данных, так как не каждый человек может понять то, что понимает программист, поэтому очень часто приходится много раз пояснять те или иные моменты;
  • иногда приходится работать в режиме нехватки времени;
  • постоянная негативно сказывается на здоровье, в частности особо страдает зрение и опорно-двигательный аппарат как следствие так называемой сидячей работы;
  • очень часто работа является рутинной и однообразной;
  • также часто страдает характер человека, который становится нервным, вспыльчивым и резким в своих действиях и суждениях.

Требования к профессии программиста

Как и при получении любой работы, соискатель должности должен соответствовать определённым требованиям, которые могут меняться, но имеют основные схожие принципы, которые являются примерно таковыми:

  • необходимы знания в сфере современных технологий и языков программирования, таких как HTML, SQL, PHP и прочие;
  • в написании и составлении программ;
  • умение составлять и читать техническое задание;
  • способность расшифровать и адаптировать чужой код;
  • разбираться во вспомогательных программах;
  • на техническом уровне.

Должностные обязанности программиста

В круг занятости программиста входит множество различных действий. Среди них такие:

  • на основе различных математических моделей и алгоритмов составлять и формировать программы соответственно поставленных задач;
  • тестировать и отлаживать уже написанный продукт;
  • производить разработку технологии решения задач на всех этапах обработки информации;
  • определять, какая из существующей информации подлежит обработке с помощью компьютерных средств;
  • выбирать язык программирования, которым в дальнейшем будет написана программа;
  • выявлять данные контрольных примеров, которые позволяют понять соответствует ли программа своему назначению;
  • запускать уже отлаженное приложение и вводить исходную информацию в него на основе поставленных задач;
  • корректировать программу исходя из проанализированных данных;
  • определять, возможно ли использовать какие-либо готовые программные продукты;
  • составлять техническую документацию, а также инструкцию по работе с программой;
  • осуществлять техническое обслуживание и сопровождения программных средств;
  • обеспечивать бесперебойность работы компьютеров и сопряженной с ними техники;
  • проводить подготовку технических средств к работе, а также следить за их исправностью и техническим состоянием;
  • своевременно выполнять ремонт техники;
  • осуществлять своевременную инвентаризацию средств.

Ответственность

Как и любому человеку, программистам свойственно ошибаться. Однако большим преимуществом данной профессии является то, что даже при совершении какого-либо недочёта или недоработки, всё это можно выявить уже на этапах тестирования и устранить на этапе отладки программы, приложения.

Не стоит забывать о нарушениях законодательства связанного с авторским правом и вмешательстве в личные данные, что несёт за собой уголовную, либо административную ответственность.

Полномочия

Одновременно с должностными обязанностями, также стоит обратить на права сотрудников отдела IT. Итак, каковы же права имеют представители этой профессии:

  • имеет право предпринять определённые действия, когда может возникнуть ситуация, при которой возникают препятствия для осуществления сотрудником своей деятельности;
  • вносить предложения руководству организации по мерам, позволяющим улучшить работу предприятия в IT сфере.

Особенности профессии программиста

Рынок труда растет быстрее, чем отрасль IT-технологий, что обуславливается большим количеством опытных профессионалов, в которых заинтересовано предприятие.

Особенностью профессии можно считать то, что она позволяет иметь так называемый свободный график, а также не находиться в штате компании и работать удалённо. Также есть возможность получить дополнительный заработок, работу со стороны, которая позволяет хорошо заработать.

Профессиональные навыки и умения

При поступлении на работу программист обязан обладать , среди которых можно выделить такие как:

  • знания английского языка на техническом уровне;
  • психологическая устойчивость;
  • креативность мышления;
  • высокая эмоциональная уравновешенность;
  • усидчивость и терпение.

Личные качества

Незаменимыми качествами в работе программиста являются терпение и выдержка, именно они помогают ему сосредотачиваться на работе и качественно ее выполнять.

Учитывая, что сфера IT-технологий развивается очень быстро, представитель этой профессии должен постоянно получать новые знания и умения, совершенствоваться в своём деле, для того, чтобы затем суметь быстро адаптироваться к возникшей ситуации. При отсутствии этого фактора в арсенале программиста, может значительно снизиться ценность и востребованность такого работника.

Большую роль играет объективность оценки технологий и возможность их использования на каждом конкретном примере. То есть каждая новая разработка должна быть применена целесообразно своему назначению и упрощать, а не усложнять работу.

Карьера программиста

Существует масса хороших примеров для старта карьеры программиста, как примеру возможность присоединиться к разработке какого-нибудь нового проекта.

Российские специалисты считаются очень талантливыми, соответственно их проекты на рынке имеют довольно высокую стоимость. Поэтому они пользуются успехом у западных инвесторов, которые зачастую предлагают хорошие деньги за проекты. В связи с этим, кадры стали цениться и у нас, так как важность и целесообразность этой профессии в последнее время возросла в несколько раз.

Где работать профессионалу

IT-специалисты востребованы практически во всех сферах общества, поскольку в современном мире очень велико значение компьютеризации и всего, что с этим связано. Без помощи специалистов, в этой отрасли обществу уж никак не обойтись.

Программисты требуются везде, от банального жилищно-эксплуатационного участка до крупной нефтяной корпорации.

Какая зарплата у программистов

Одной из самых прибыльных и востребованных остаётся сфера программирования. Преимуществами являются высокая заработная плата, социальный пакет, возможность работать в любой точке мира.

Наибольший уровень зарплаты имеют Java и NET-программисты, и напротив, менее всех оплачивается работа системных администраторов, специалистов технической поддержки и так далее.

Средний уровень зарплаты программиста в России составляет 625 долларов, однако в крупных городах ЗП может доходить и до 5000 долларов в месяц.

Образование

Если вы хотите стать программистом и посвятить себя работе в этой сфере, то для этого требуется не так уж много усилий. Все они сводятся к получению определённого сертификата, который выдаётся по окончанию курсов, длительность которых составляет обычно от трёх месяцев до года, в зависимости от направленности.

Дальнейшее развитие программиста ограничивается собственным совершенствованием . Причем от вас не требуется создание программ взмахом руки. Однако, тем людям, которые уже имеют опыт общения с компьютером, будет ощутимо легче ориентироваться в области программирования.

Также не стоит усердствовать с творчеством. Именно из-за этого иногда могут возникать ситуации, при которых будет происходить определённое недопонимание между заинтересованными людьми.

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

При определении специализации и направления в отрасли иногда стоит выбирать прикладную информатику. Эта специальность является инновационной, и здесь есть возможность для самореализации и креатива. Это позволит вам даже при выполнении однородных задач действовать обособлено.

Как найти свою первую работу программистом? От резюме до испытательного срока / Mail.ru Group corporate blog / Habr

Все знают, что сейчас программирование — это супервостребованная и супероплачиваемая профессия. Но немногие знают, что вакансий для начинающих очень мало. Все работодатели хотят, чтобы к ним пришёл человек, который уже что-то умеет. Напишет код, который не надо выкидывать. Джуниорских вакансий (не требующих опыта работы) мало, и конкуренция здесь очень большая. С одной стороны, существует огромная потребность в программистах. С другой — в начале карьеры вы можете столкнуться со сложностями. Работодатели обращают внимание в первую очередь на тех, у кого в резюме уже есть строчка о прошлом месте работы. Если у вас её нет, будет сложно.

Из собственного опыта скажу, что я окончил хороший университет и ожидал, что меня сразу завалят предложениями о работе. Но моё резюме вызывало минимальный интерес. Я получил два приглашения на собеседования, и никто меня не отрывал с руками.

Итак, как же новичку получить первую работу?


Оно должно как-то называться. Существуют два варианта.
  1. Допустим, вы программировали на разных языках. В школе наверняка писали на Pascal, а потом что-то делали на C++. Если вы постарше, то, возможно, знакомы с Delphi. Поэтому в названии резюме можно указать все языки, на которых вы писали. Авось какой-то заинтересует потенциального работодателя. Например, так: «Программист: delphi, python, php, html, java, c#, ruby, scala».
  2. Можно указать, что вы специализируетесь на чём-то одном, например на Python. Обычно, если в названии резюме перечислена куча языков, то понятно, что вы не умеете ничего. Всего коснулись поверхностно. В глазах работодателя вы будете человеком-оркестром, который пришёл на прослушивание в консерваторию. Не надо так делать. Зачёркиваем длинную простыню и оставляем просто «Программист на Python». Повышайте свою самооценку, не акцентируйте в резюме неуверенность в себе, связанную с нехваткой опыта.

Из этого следует правило: выберите один язык программирования и специализируйтесь на нём. В университете я писал на С++, потом понял, что связанные с ним вакансии меня не очень прельщают, поэтому надо двигаться в другом направлении. Я выбрал для себя C# и Java. Мне они оба очень понравились, и я долго не мог определиться, какой мне больше по душе: тут есть такая-то фича, здесь такая, казалось бы, одинаковые. Я купил две здоровенные толстые книжки — по C# Эндрю Троелсена и по Java Брюса Эккеля. На каждую я потратил по две недели и начал откликаться на вакансии по обоим языкам. Думал, куда раньше возьмут — в тот язык и буду углубляться. Сейчас я понимаю, что переложил ответственность за выбор языка с себя на мироздание, на судьбу, на работодателя.

Приходя на каждое из собеседований, я чувствовал себя неуверенно. На обоих языках я писал одинаково слабо. Не надо было так делать. Надо было принять волевое решение. Не можете выбрать — киньте монетку. Главное, определиться с каким-то одним языком.

Какой язык лучше всего указать в резюме? Языков много, но они очень часто друг друга взаимозаменяют. Не все из них живые. Основное правило — выбирайте популярные языки, не надо брать экзотику. Не нужно слушать, что какой-то Haskel очень крутой, классный, умеет делать всё и вся, а функциональные языки программирования такие волшебные… Каждый хвалит свой язык.


Работодателям нужна не экзотика, а те технологии, по которым много специалистов. Решайте сами, нужно ли учить язык, по которому вы потом не сможете найти работу?

Так что при выборе языка обращайте внимание:

  • на его популярность;
  • на решение задач, которые вам интересны;
  • на простоту освоения: на начальном этапе лучше выбрать попроще.

Сейчас по количеству вакансий наиболее востребованы следующие языки: Javascript, PHP, Java, C++, Python, C#, Ruby, Swift, Objective-C. Выбрав какой-то язык, скорее всего, вы на нём и остановитесь. Может быть, через два года разочаруетесь или решите перепрофилироваться. Но это будет немножко больно. С другой стороны, свой опыт вы сможете легко применить в другой сфере деятельности.
  • Если речь пойдёт про frontend — то есть разработку визуальной части сайтов, — то здесь всё просто, нужны три языка: HTML, CSS, JavaScript.
  • А вот для разработки серверной части вариантов много. Самый популярный язык — РНР. Мне на каждом докладе говорят, что про РНР плохо отзываются, какой-то он не такой. Многие высказывают гипотезы, что он умрёт. Но ничего подобного, половина сайтов написана на РНР, половина вакансий — на РНР, ВКонтакте — на РНР, как и многие другие крупнейшие проекты. Никуда язык не денется. Если в нём будут критические проблемы, то их просто исправят. Появился Ruby on Rails, классный движок — ну, ничего страшного, на РНР стали появляться фреймворки, в которые внедрили аналогичные фичи. Всё хорошо. Отдельно скажу, что Python многих прельщает простотой и универсальностью.
  • С точки зрения мобильной разработки есть всего два варианта. Если хотите писать под Android — это Java. Если под iOS — Swift или Objective-C. И то и другое — хорошие решения.
  • Разработка под desktop и серверы: Python, Javaб С++ или C#. Здесь есть простор для метаний. Python попроще, чем остальные. На Java можно писать под Android. На C# — углубляться в разработку игр и сайтов. C++ больше подходит для тех задач, где требуется высокая скорость работы. В остальном у них возможности совпадают, просто на Java сайты пишут реже.

Возникает резонный вопрос: если начинаешь с нуля, то имеет ли смысл изучать сразу новый язык? Например, в Apple перешли с Objectivе-C на Swift, потом появился Swift 2 и 3. Обычно я консервативен и считаю, что новое не всегда оправданно и действительно выстреливает. Появляется новый язык, по нему нет вакансий, но где гарантия, что они появятся потом? Может, на нём так и напишут с пяток проектов.

Что касается Objectivе-С и Swift, я давно присматриваю за этими языками, и буквально на днях количество вакансий на Swift сравнялось с Objective-C. Мое мнение, это очень серьезный показатель, что Swift будет только набирать обороты и со временем может вытеснить Objective-C.


Итак, мы выбрали язык и указали его в резюме. Далее перечисляем технологии, которые мы знаем. Давайте снова разбираться, что круче. Допустим, вы программируете на PHP. Имеет ли смысл писать, что вы знаете С, С++, Pascal, C# и так далее? Не надо перечислять все технологии, которые напрямую не относятся к вашей компетенции. Надо назвать вакансию «программист: РНР». В таком случае работодателю неинтересно, что вы когда-то писали на С и Visual Basic. Весь этот длинный хвост можете не указывать.

Есть и другой вариант. Допустим, я программист на РНР, но знаю все эти технологии, потому что они относятся к веб-разработке: и РНР, и YII2, и HTML, разные фреймворки. Если будете искать вакансию веб-разработчика, то наверняка увидите здоровенную простыню дополнительных требований с кучей умных слов. И многие этого пугаются, особенно в веб-разработке, страшно, что надо столько знать… К этому надо стремиться: знать Webpack, работать с разными БД и так далее.

Многие для повышения авторитета сразу пишут, что я и это знаю, и это примерно знаю, но я новичок и готов получать пока 15—30 тысяч, и опыта работы у меня нет. Какое будет впечатление у работодателя? То же самое: человек-оркестр.

Есть и другая проблема. Допустим, работодатель поверит, что вы всё это знаете. Он же на собеседование придёт с этим списком, ткнёт в любую технологию и скажет: «Теперь мы говорим про React, что ты знаешь про него? А это что? А это? Ясно, React мы не знаем».

Вычёркиваем.

«Хорошо, поговорим про MySQL, напиши мне транзакцию, которая делает то-то и то-то».
«Ну, я в MySQL установил только среду разработки, два select-а сделал…»

MySQL тоже вычеркиваем. Всё остальное он даже смотреть не будет. Работодателю уже будет неинтересно, что вы полгода жарили РНР: он поймал вас на вранье. Так что зачеркиваем всё перечисленное.

От джуниора никто не ожидает, что он сразу полетит в космос. Работодатель, как правило, адекватный человек. И он понимает, что джуниор будет знать один язык программирования и в лучшем случае поверхностно разбираться во фреймворках. Работодателя это устраивает, потому что ему нужен человек, который заберёт рутинные операции у ведущих разработчиков. Поэтому пишите о своих знаниях максимально честно.

Более того, даже не пытайтесь ознакомиться со всеми этими многочисленными технологиями. Если вы РНР-программист — так и напишите, что знаете РНР и немного HTML и CSS для верстки. Ещё знакомы с одним фреймворком — всё, работодателя это устроит. Он не будет вас гонять по YII, поскольку вы и не указали, что знаете его. Работодатель понимает, что вас можно гонять по РНР.

Если так получилось, что вы уже много чего потрогали, то честно напишите: поверхностное знакомство с такими-то технологиями. Может, для работодателя это будет плюсом.


Должно ли в вашем резюме быть подтверждение того, что вы окончили какой-то университет, получили какие-то сертификаты, прошли курсы и так далее? Это хорошая вещь при первичном отборе, на которую обращают внимание многие кадровики. Им сложно ориентироваться по другим критериям. Поэтому они смотрят на опыт работы и на образование, чтобы сделать какой-то вывод.

Когда я набирал в команду джуниоров по C#, мы опубликовали вакансию и в течение двух-трёх недель получили 50 откликов. У нас не было кадровика, поэтому мы пошли программерским путём: всем кандидатам выслали тестовое задание. Кто его сделал, проходил дальше. И мне как работодателю не были интересны сертификаты и диплом. Я даже на резюме не смотрел, пока человек не присылал мне решение тестового задания. Но для кадровика это может быть важно.


Очень важная вещь на этапе отбора. Если у вас есть портфолио, то работодатель-программист сможет понять, в состоянии ли вы решить задачу аналогичную той, которую вы уже решали.
Что можно написать в своём портфолио? Если вы хотите разрабатывать сайты, то просто придумайте себе задачку и решите её за необходимое время. Сделайте небольшой сайт и выложите его, лучше всего на Github. И напишите: я создал небольшой интернет-магазин, использовал такие-то технологии, вот код. Для работодателя это будет показателем, что вы ещё и про Git знаете. Он понимает: если я возьму этого новичка на работу, он мне за два дня сделает примерно то же самое, с чем сам разбирался месяц. И не надо будет ему платить за то, чтобы он выучил, что такое Bootstrap, познакомился со всякими нужными штуками. Он сам уже это изучил и теперь в состоянии решить задачу за пару дней. Поэтому не пренебрегайте портфолио. Вам оно очень сильно поможет.
Если он у вас есть, то опишите его. После этого вас будут отрывать с руками. После окончания университета я получил два отклика на своё резюме, а через год просто не знал, как его спрятать. Потому что всем нужны программисты, и кадровики видят: этого парня вытерпели год и не уволили, он не облажался, значит, толковый человек. Если я его возьму к себе на работу, то, скорее всего, я тоже смогу терпеть его как минимум год, его код не надо будет выбрасывать.
Резюме готово, что делать дальше? Прежде чем откликаться на вакансии, надо немного психологически настроиться, чтобы процесс пошёл правильно. Представьте свой идеальный рабочий день, что бы вам хотелось получить в итоге? Иначе мы просто будем белкой в колесе, станем бежать за какой-то мечтой, каким-то счастьем. Представьте, как выглядит ваш офис, ваши коллеги, какое у вас самоощущение, какими проектами вы занимаетесь. Просто настройтесь на то, какие эмоции вы будете испытывать, когда станете ходить на работу. Сделайте запрос мирозданию: «Хочу, чтобы было так, так и так». И успокойтесь, всё у вас будет хорошо.

Расскажу о том, как я устроился в компанию GeekBrains. В какой-то момент мне надоело программировать. Это классное занятие, я пять лет ему отдал, но меня не очень удовлетворяли цели компании, в которой я работал. Я подумал, что мне было бы интересно открыть свою школу и учить людей. Дать им возможность получить новую специальность, новую профессию. Потом я увидел вакансию и начал преподавать в GeekBrains, совмещая это с основной работой. Затем я просто попросился к ним на работу.

Так выглядел мой разговор с генеральным директором GeekBrains.

Гендир: «А что ты умеешь делать? Ты на C# программируешь, а мне нужен Ruby».
Я: «Я не хочу программировать, я умею то, умею сё».

Через две недели я вышел на работу.

Наверно, вы представляете: «Я найду работу так: выложу резюме, на него откликнутся, я приду на собеседование, и всё получится». Но работа может найти вас совершенно другим способом. Например, вы зарегистрируетесь на фрилансерском сайте, выполните какой-то заказ, и у вас появятся постоянные клиенты. Или друг пригласит вас к себе работать. Не зацикливайтесь на способе достижения цели. Просто будьте открыты к предложениям, откуда бы они к вам ни пришли.

Не расстраивайтесь, если вас не позвали на собеседование после того, как вы откликнулись на вакансию. На начальных позициях предложение сильно превышает спрос. Я сам допускал эту ошибку, находил одно предложение о работе и думал: блин, мне это подходит, тут и компания недалеко от моего метро, и требования несложные. Мне кажется, что я им классно подхожу, а они, заразы, даже не посмотрели моё резюме. Ну что такое? Наверное, во мне что-то не так. Или они прочитали, но ничего не написали. Всё, резюме плохое, надо дорабатывать портфолио, что-то ещё делать. А на самом деле, может, им просто некогда. Они уже давно взяли кого-то на работу и просто не стали снимать вакансию, потому что у новичка ещё не закончился испытательный срок.

Не парьтесь, ребята. Отправьте 100, 200, 300 откликов, сколько найдёте. И законом больших чисел вы сообщите мирозданию, что реально хотите работу. Вас пригласят на пять собеседований, на одном из них вы устроитесь на работу — всё. Если вам посылают тестовое задание, не пренебрегайте им. По моему опыту, 90 % кандидатов отваливаются, когда получают тестовое задание.


На собеседовании очень важно настроение. Настраивайтесь, что это не вас тут оценивают, а вы пришли понять, подходит ли вам компания, нравится ли вам здесь работать, хороший ли коллектив — и так далее. В противном случае вы будете считать, что вас экзаменуют, и сидеть с трясущимися коленками. Вы — эксперт, специалист. Начинающий, но специалист. И вы тоже собеседуете работодателя: интересен ли проект, какие у него перспективы, как выглядит рабочее место? Вы чуть-чуть меняетесь местами, и работодатель думает: человек себя ценит, надо теперь мне его убедить, что моя компания достойна его присутствия. Это тоже важный фактор.
Не переживайте всё время о том, что вас выгонят сразу после испытательного срока. По моему опыту, испытательный срок — это символическая вещь, подстраховка для работодателя, чтобы можно было легко уволить накосячившего новичка. В подавляющем большинстве случаев к вам не применят никаких санкций. Работодатель обычно просто забывает об испытательном сроке. Он по таймеру посмотрел — прошло три месяца, можно человека оформить.

Если вас взяли на испытательный срок, то не надо всех заваливать вопросами, иначе подумают, что вы дурак. Но не надо кидаться и в другую крайность, когда начинающему разработчику дают задачку, и он уходит в себя на три дня, потому что сам пытается во всём разобраться. А работодатель думает: неужели вам мало трёх дней на такую простую вещь? Так что не стесняйтесь задавать вопросы. Если вы больше часа занимаетесь какой-то задачкой и у вас не получается, подойдите к старшему, спросите, он вам поможет, всё будет хорошо.


Друзья, и напоследок напутствие: не бойтесь экспериментировать. Ищите себя, находите то, чем вам нравится заниматься. Нет ничего хуже, чем десять лет просидеть на нелюбимой работе из страха, что не сможете устроиться на другую. Если вам нравится программировать — начинайте обучаться этому ремеслу, совмещайте учёбу с основной работой. Если хотите — приходите к нам в GeekBrains, и мы вам обязательно в этом поможем. Удачи вам, и до новых встреч!

Работа программиста

Кто есть кто в ИТ? Работа программиста.

Кем стать? Кто больше получает в ИТ, а кто меньше? Какие программисты нужны? У кого лучшие перспективы? Чтобы принять решение, давайте кратко рассмотрим, а кто вообще бывает в ИТ?

 

Что такое ИТ?

Под ИТ (в смысле работы) принято понимать технические профессии, которые связаны с продвинутой работой на компьютере. В их ряд входит многое — от сборки и настройки компов, до разработки программ.

 

Начнем с самого начала – а почему ИТ?

95% сотрудников ИТ – это люди офиса, которые сидят на стуле перед монитором большую часть дня. Вы должны это учесть.

С другой стороны, эти люди в большинстве случаев получают зарплату большую, чем любые другие профессии при таком же опыте. В этом легко убедиться на любом сайте поиска работы,

отсортировав вакансии по зарплате.

30%/30%/30% сотрудников технических профессий (это конечно грубое деление) – это системные и прикладные программисты, системные администраторы и менеджеры.

 

Кто такие программисты и какие они бывают?

Программисты (programmers) целыми днями сидят за мониторами и пишут программы.

Программисты (programmers) делятся на несколько видов:
• Системный программист (системщики, system programmers)
• Прикладной программист (прикладники, application programmers)
• Тестировщики и техническая поддержка (helpdesk).

Зарплата программистов может сильно отличаться в зависимости от выбранной сферы применения, ее редкости и востребованности, выбранных языков программирования.

Какие программисты нужны?

 

• Системный программист (системщики, system programmers)

Системный программист пишет Windows, драйверы для монитора и принтера, графические движки для компьютерных игр, искусственный интеллект и другие вещи, для написания которых нужно знать математику, физику, компьютерные алгоритмы. Тех, кто называют «хакеры» являются системщиками-гуру.

Системным программистом становится человек, который интересуется такими вещами как «что происходит, когда я нажимаю клавишу на клавиатуре» или «по какому маршруту и почему ходят пакеты в сети интернет» и т.п.

Работа системного программиста требует знания математики, физики, базовых компьютерных алгоритмов, организации современных операционных систем, драйверов, построения моделей и так далее.

Базовые знания системного программиста можно получить в институте и университете на таких факультетах как ПММ (прикладная математика). Реальные знания можно получить только поистине гигантским самообразованием (по крайней мере чтобы стать «гуру»).

Источники самообразования совершенно различны, например многие сведения по интернет читают здесь — http://ru.wikipedia.org/wiki/RFC.

Язык программирования системщиков в 90% случаев C и C + +, гораздо реже ассемблер.

Здесь можно оценить зарплаты системным программистов (в Москве):

Дополнительно должен сказать, что ценятся системные программисты под Unix/Linux.

Какие программисты нужны — системный программист.
Прикладные программисты (прикладники)
Пишут компьютерные и флеш игры, программы для пользователей, веб-сайты, 1С, SAP и другие интересные вещи.

 

o Игры (компьютерные, на приставках, флеш; game programmers, script programmers)

Современные компьютерные игры в массовом порядке изготавливаются на уже готовых купленных движках, разработанных ранее системщиками, которые предоставляют возможности игровой механики, физики и т.п.

Работа программиста игр в этом случае заключается в написании внутриплатформенных скриптов на спец. скриптовом языке. Флеш игры пишут также на скриптах – ActionScript.

Понятное дело, что программистом игр становится человек, который помешан на играх.

Не надо путать разработку игр с написанием движков. Движки пишут на физических моделях и конечный продукт совершенно не похож на игру. Движки в конечном итоге пишут скорее системные программисты. Поэтому если Вы любите игры, то Вам сюда.

Программисту игр необходимо знать о начинке игр (движок, модели, карты уровней, скрипты объектов и ситуаций и т.п.) и базовые знания объектно-ориентированного программирование.

Подобным знаниям в настоящий момент не учат вообще нигде, за исключением возможно некоторых курсов для получения базовых знаний. Только самообучение в интернете, некоторое количество книг.

Язык программирования – ActionScript3 (флеш), основные игровые движки и их внутренние скрипты.

Здесь можно оценить зарплаты программистов по компьютерным играм (в Москве)

Какие программисты нужны — программист игр.

 

o Программы для мобильных платформ (mobile device programmers)

С массовым освоением рынка мобильных устройств (а особенно iPhone и iPad) появилась массовая профессия – прикладной программист мобильных устройств. Они пишут небольшие приложения для сотовых телефонов и планшетов.

Прикладным программистом мобильных устройств становится человек, который помешан на подобных устройствах или интересуется бизнес-моделью «программист на AppleStore».

Работа программиста мобильных устройств не только в знаниях тонкостей этих устройств и их кроссплатформенности, знания операционных систем для сотовых телефонов и их тонкостей, но главным образом – отладка. Нужно иметь мобильное устройство, чтобы проверить – работает программа или нет.

Подобным знаниям не учат нигде. Нужно покупать устройство и вперед.

Языки программирования – Java (для большинства сотовых телефонов) и C (для iPhone и iPad).

Здесь можно оценить зарплаты программистов мобильных устройств (в Москве)

Какие программисты нужны — программист мобильных устройств.

 

o Программы для пользователей (прикладники, application programmers)

Именно эти программисты и являются классическими «прикладниками» (прикладными программистами). Кроме «системных программ» на Вашем компьютере стоят именно те программы, которые Вы собственно пользуетесь – аудио и видео плееры, почта и т.п. Их и разрабатывают прикладные программисты.

Прикладным программистом становится человек, который хочет делать программы для людей (конечных пользователей). Область применения (тематика и вид программ) может быть любым.

Особенность знаний является то, что все прикладные программы базируются на системных, и соответственно, кроме знания языка программирования, необходимо знать все библиотеки и методики, разработанные системными программистами для прикладников.

Работа программиста прикладного не требуются знания математики, физики и прочего – т.к. все математические функции уже написаны системщиками и заложены во множества библиотек. А наоборот – требуется знание всех этих библиотек и платформы.

Базовым знаниям языка программирования можно научиться в ВУЗе (в наших вузах можно выучить Delphi/C + +). Остальным знаниям придется учиться самостоятельно.

Основные языки программирования — C#, Delphi, Java.

Здесь можно оценить зарплаты программистов пользовательских программ (в Москве)

Какие программисты нужны — программист пользовательских программ.

 

o Веб-программирование (web programmer)

Эта область появилась и развивается одновременно с интернетом. Дело в том, что изначально никакого программирования в интернет не было – разработка html страниц это верстка, а не программирование. Но рано или поздно количество языков для веб стало чуть ли не больше, чем для всего остального.

Работа программиста веб в разработке сложного поведения интернет-сайтов и программ работающих через интернет.

Таким программистом становится человек, которому интересна разработка сайтов или бизнес-модель «программист делает сайты».

Особенность знаний является то, что количество технологий, которые участвуют в развитии интернета исключительно велико, поэтому знанием одного языка программирования не обойдешься.

Перечисление требований/знаний веб-программиста зачастую может выглядеть дико, т.к. этих вариантов знаний очень большое множество.

Также, как и у остальных прикладников, зачастую сайты не разрабатываются «с нуля», а являются доработкой какой-либо платформы (что такое CMS?) и требуется знать не только языки программирования, но и популярные платформы.

Веб-программированию (очень базовомум) учат множество курсов, но большинство очень поверхностно. В ВУЗах этому не учат. Математики, физики и прочего знать не нужно.

Основные языки программирования — C# ASP.NET, PHP, JavaScript.

Здесь можно оценить зарплаты программистов веб-сайтов (в Москве)

Какие программисты нужны — веб программист.

 

o 1С, Axapta, SAP и т.п. (erp programmers)

Данный вид прикладных программистов зачастую обзывают «настройщиками», а не программистами. Однако количество знаний, которое требуется иметь и характеристики работы (умение внедрять программы, непосредственное общение с пользователями) могут быть посложнее, чем в других областях, что видно по уровню зарплат.

Работа программиста 1С, программиста Axapta, программиста SAP заключается в программировании на встроенным языке гигантских ERP-систем. Сюда же можно отнести программистов баз данных (Oracle, SQL), которые обычно занимаются тем же.

Таким программистом становится тот, кому интересна непосредственная работа с пользователями и мгновенный результат.

Особенностью знаний является «вход», т.к. для обучения нужна эта самая ERP-система (программа), которая зачастую не продается простым пользователям, а также неналичие любой внятной документации.

Не учат нигде кроме дорогостоящих курсов соответствующих компаний. Самообучение.

Язык программирования – в каждой ERP-системе свой.

Здесь можно оценить зарплаты программистов 1С (в Москве)

Какие программисты нужны — программист 1С.

 

Какие еще бывают технические профессии

Кто больше зарабатывает в ИТ?
 

Чем занимаются программисты?

По специфике выполняемых работ программистов можно разделить на три типа:

Прикладные программисты

Разрабатывают и поддерживают работу программного обеспечения, которое может использоваться для работы, общения или развлечения (приложения прикладного характера): текстовые редакторы, мессенджеры, бухгалтерские программы, игры и т.д. Эти специалисты также могут заниматься созданием программного обеспечения для систем безопасности, систем видеонаблюдения, пожарной сигнализации и других специальных программ, необходимых для работы в различных профессиональных или научных областях. Прикладным программистам может быть под силу создать даже робота. Часто используют в работы такие языки программирования, как C++,C#, Java.

Системный программист

Разрабатывает, соответственно, операционные системы, базы данных, работает с сетями. Они создают сервисы – целые системы программного обеспечения, которые должны управлять вычислительными системами, состоящими из процессора, коммуникационных и периферийных систем. В обязанности системщиков входит также поддержание работы и функционирования созданных систем (создание драйверов, загрузчиков и т.д.). Системные программисты встречаются довольно редко и, при этом, высоко оплачиваются. В работе ему могут пригодиться языки программирования C, C++, bash-script, Delphi.

Web-программисты

Они тоже работают с информационными сетями – локальными и глобальными. В круг их профессиональных умений и обязанностей входит написание программной составляющей для сайтов, web-страниц, а так же создание web-интерфейсов для работы с базами данных. Web-программисты пишут, в основном, на языках PHP, Ruby, Python, Javascript, Perl.

С первого взгляда может показаться, что все программисты заняты чем-то очень похожим. Однако, если web-программисту случится делать работу, например, системного программиста, ему придется разбираться во всём практически с нуля: навыки web-программирования мало пригождаются в работе с серверами, понадобится лишь понимание алгоритмов написания кода.
Программисты могут потребоваться в совершено разных отраслях. В основном, это IT-компании, учебные заведения, научные институты, крупные промышленные предприятия, заводы, любые фирмы, ведущие часть работы в интернете с помощью официальных страниц и сайтов. Место работы программиста во многом зависит от его специализации. В идеале, ему придется трудиться в коллективе таких же программистов, имея дело непосредственно с главой отдела и получая задания лишь от него. Но в некоторых организациях, программистам часто приходится общаться с различными менеджерами и отвечать на их многочисленные вопросы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *