Какие бывают разработчики


Какие бывают виды программистов? Часть 1: Web-разработчики. | IT and Games

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

Web-разработчик

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

Можно выделить три группы web-разработчиков:

— Front-end - разработчик;

— Back-end - разработчик;

— Full-stack - программист.

Теперь кратко о каждом:

1) Front-end - разработчики занимаются визуальной составляющей сайта. Это та часть сайта, которую видит его посетитель. Он делает дизайн сайта (чаще всего используя готовый макет), каркас, меню и всё в таком духе, используя в качестве своего вооружения html (язык разметки), css (язык стилей) и конечно же JavaScript — язык программирования, использующийся в данном случае для создания скриптов на сайте, это всякие меню, кнопки и телодвижения на страничке (к примеру, вы наводите курсор на меню, а оно подсвечивается или выпадает подменю — это заслуга фронтендера).

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

2) Back-end разработчики остаются в тени, ведь видимой частью сайта они не занимаются. Говоря кратко, они отвечают за серверную часть работы сайта (там, где всё обрабатывается). Целью программиста-бэкендера является установка взаимодействия между самим сайтом, его базой данных и приложением (если оно имеется).

Могут использоваться следующие ЯП: PHP, Java (не путать с JavaScript), Python, C#, Ruby, платформой .Net. Но так как ему нужно работать с базами данных, для этого в работе применяются: MySQL, SQL Server, Oracle.

Но и это ещё не всё. Для оптимизированной и эффективной работы нужны также знания различных фреймворках и понимания принципов работы ОС.

Можно сказать, что Back-End разработчики это новый уровень познания после Front-End.

3) Full-stack - программисты это уже мастеры своего дела, поскольку они способны взять на себя обязанности двух вышеназванных разработчиков и даже больше.
В общем, это самые настоящие Senior'ы из области Web-разработки.

В следующей статье мы поговорим о других видах программистов! :)

Четыре типажа программистов / Хабр

Привет.

Я впервые пишу в поток об управлении и найме персонала. Речь пойдет об одном из способов классифицировать ваших будущих или действующих программистов. Мой основной тезис: все разработчики, грубо говоря, делятся на 4 больших типажа и каждому из этих типажей есть своя область применения. Попытка направить неправильный типаж на решение неподходящих для него задач ведет к провалу (неэффективная работа, или сотрудник покидает команду). Хотите знать почему так — добро пожаловать под кат. Приготовьтесь, текста много.

Некогда, забавы для и пользы ради, я подрабатывал в одном неплохом кадровом агентстве — собеседовал приходящих программистов на предмет знания C#/.NET. В мои обязанности не входило полное техническое интервью — скорее, начальный скрининг кандидатов чтобы понять who is who, отфильтровать совсем уж ужас и в случае чего дать советы что почитать и как усовершенствовать навыки. И был у того кадрового агентства один интересный клиент. Он у всех на слуху, но тогда мне про него мало что сказали — я только понял, что вроде как ищет он rock stars — высококвалифицированных разработчиков, при том независимо от используемых технологий. После того, как я порекомендовал для них несколько человек — со мной связалась заместитель ген. директора и пригласила на встречу, ибо мои рекомендации не совсем устраивали заказчика. Так я познакомился с учредителем. Там мне была рассказана очень интересная история о том, зачем им нужны rock stars и как это всё вместе работает. Оказалось что вовсе не rock stars нужны. Нужны, как дал мне понять руководитель — люди с крепкими фундаментальными знаниями (алгоритмы, проектирование, операционные системы, сетевые технологии), которые будут готовы к росту и развитию. И вот они их берут и развивают, а затем отправляют реализовывать довольно сложные аутсорс-проекты. Заодно мне рассказали какие проблемы в этом плане испытывает компания. Я ушел в раздумьях и довольно долго катал в голове эту бизнес-модель, равно как и мысли о российской IT-индустрии в целом и политике работы с кадровым составом в частности.

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

Важно понимать что нет "плохих" типажей. Если какой-то из типажей вам кажется плохим, то вы просто не умеете его готовить. Помним: каждой задаче — подходящий инструмент. Я расскажу про все 4 типажа в виде карточек, давая краткую характеристику, указывая бэкграунд, цели и мотивацию, а так же рассказывая про сильные и слабые стороны. Особенно стоит уделить внимание бэкграунду, так как в конкретный типаж люди вырастают из своего бэкграунда. Начнем мы с чего по-проще.


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

Соль индустрии IT-шной. На таких людях, говорят, мир держится. Он же "хомячок". Он же "гребец на галере", но я предпочитаю избегать таких ярлыков, поэтому просто — "линейный программист". Он не хватает звезд с неба, не пишет своих компиляторов и СУБД. Ну максимум — сделает пару инструментов, чтобы облегчить себе жизнь, в остальном — просто решает рабочие задачи. Редко меняет место работы. Усидчив. К работе относится как к работе, без особого энтузиазма. В меру ленив. Дисциплинирован (но бывают исключения), однако без надлежащего управления быстро "расхлябывается" и теряет фокус. Управлять такими людьми можно по стандартным методикам — описанным например в книге Дж. Рейнвотера — Как пасти котов. Квалификация может варьироваться и определяется исключительно опытом и количеством проектов, в которых линейный программист принял участие. Иногда квалифицированные линейные программисты попадают на минимальные управленческие должности — их нарекают team lead и тут-то вышеуказанная книга им и пригождается. Но самая главная особенность линейного программиста — весьма частое отсутствие желания развиваться и экспериментировать. Он прекрасно решит даже очень нудную задачу, которую вы ему предложите, если та не будет слишком сложной. Он выберет как можно более быстрый и прямолинейный инструмент из тех, что знает. Развитие для этих людей носит спорадический характер и в основном идет "вширь": изучить новый фреймворк или новый инструмент, который поможет лучше решать повседневные рабочие задачи. Или "пришел заказчик, который использует вот такую штуку — ну что уж, будем разбираться". Примечательно, что знания полученные в результате спорадического развития отдельных линейных программистов как раз и составляют опыт аутсорс-компании. Однако, двигать горы и исследовать окружающий мир "вглубь" самостоятельно линейного программиста чаще всего просто не тянет. Например изучать новый, хайповый язык программирования ему просто не интересно. Только если новый язык помогает в решении повседневных задач. И уж тем более разрабатывать свой язык — увольте. И это — нормально. Хуже всего то, что линейные программисты "каменеют" когда долго сидят на одном месте. То есть если у вас есть человек, который стабильно занимается концептуально одними и теми же проектами на протяжении 3-5 лет — то очень маловероятно, что он сменит типаж и будет развиваться "вглубь". Но вот раньше этого эмпирического срока — все возможно и зависит от бэкграунда.

Бэкграунд: разный. В "линейных программистах" могут оказаться и люди, прошедшие онлайн-курсы, и выпускники ВУЗов, некоторые олимпиадники, бывшие ученые технических направлений и даже люди из концептуально другой профессии (известны случаи когда дальнобойщики становились разработчиками на PHP). Важно понимать, что линейный программист — само по себе является бэкграундом и почвой для прыжка в другой типаж. Но! Прыгнет человек или нет — зависит прежде всего от его личных желаний, а не от навыков. Наличие того или иного бэкграунда определяет лишь направление потенциального прыжка, а не его вероятность! А вот вероятность прыжка с течением времени резко падает. Однако если вам нужен верный сотрудник на долгосрочный контракт — научитесь выявлять желающих "прыгнуть" заранее. Сбежит с проекта — будет неприятно.

Ценит: стабильность, среднюю, но 2-раза-в-месяц-стабильную зарплату, покой и личные отношения в коллективе, нормированный рабочий день, офисные плюшки вроде бильярдной, фруктов по выходным, оплаты проезда или тренажерного зала, мед. страховку и (возможно нудную, но) ненапряжную работу.

Сильные стороны: усидчивость, ответственность, коммуникабельность (раз на раз), полная контролируемость, спокойное поведение в стрессовых для проекта ситуациях

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

Собеседование: стоит уделить внимание психологии: усидчивость, дисциплинированность, коммуникативные навыки, стремления, вот это всё. Так же имеет смысл поговорить о предыдущем опыте и посмотреть в резюме. Дать стандартное тестовое задание а-ля "написать чат на web sockets", смотреть на сроки выполнения, "вылизанность" задачи и адекватность подобранных инструментов. Хорошо идут технические вопросы на знание языков, протоколов, паттернов и стандартных бибилотек. Плюсом будет если соискатель уже имеет опыт конкретно с вашим набором фреймворков, но если нет — не беда. Если все остальное в порядке — разберется. Это его работа.

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


Rock star (Software Scientist)

Концентрированный исследователь. Такие больше похоже на классических ученых, но только от IT. Им интересны алгоритмы, теоретические исследования, концептуально новые направления в индустрии, но прежде всего — им интересно экспериментировать. Ради этих экспериментов их и нанимают, собственно. Они готовы часами копаться в сложных штуках и решать задачи, постановка которых другим людям даже не понятна. Они — эксперты в сложных вопросах. Они точно знают в каких случаях q-sort стоит заменить на heap sort и чем они отличаются, или может быть какие алгоритмы кластеризации подойдут для анализа потока биржевых котировок, а иные знают какие оптимизации используются внутри g++ и как они помогают жить. Костяк таких людей, например, способен разработать новый язык программирования и компилятор к нему. Или значительно улучшить какую-бы то ни было существующую систему. Еще они часто предрасположены к функциональному программированию. Ни на что не намекаю — просто статистическая закономерность. Кстати, говнокодить rock stars могут (особливо на стадии прототипирования идей), но в массе своей не допускают плохой код до финальных версий разрабатываемых ими вещей, стараются сделать все красиво, с комментариями и удобными программными интерфейсами.

Но.

Как всегда есть "но", которое все портит. Важно понимать что ни при каких условях эти люди не будут решать ваши задачи. То есть да — rock stars будут решать те задачи, которые интересны им. За ваши деньги. И при том — за большие деньги. И при том — не факт что будет какой-то результат. То, что ваши задачи совпали с задачами, которые интересны rock star — очень и очень большая удача и счастливое стечение обстоятельств, не более. Но если завтра rock star-у взбредет в голову контрибьютить в GHC вместо улучшения вашей сборки MySQL — то у вас будет ограниченное количество времени чтобы быстро и решительно его уволить. При попытке заставить оного вернуться к своим задачам — получите, в зависимости от темперамента и ваших soft skills, или конфликты или тихий провал сроков. Ну хорошо хорошо, чтобы людей так капитально разворачивало — это бывает редко и происходит постепенно, да. А вот обратная ситуация — если пересадить rock star с улучшения вашей сборки MySQL на улучшение GHC против его желания — бывает достаточно часто. И, как нетрудно заметить, приводит к аналогичным последствиям. И именно это обстоятельство делает rock star категорически неприемлемым для аутсорса.

Именно поэтому rock stars лучше всего чувствуют себя в продуктовых компаниях (например JetBrains), где им дают полную свободу в рамках одного продукта и полностью исключают внезапную смену скоупа задач (разве что только через увольнение). Люди получают возможность заниматься теми задачами, которые им интересны, самореализовываться, раскрываться и их при этом особо никто не дергает. Получается хорошая штука — окей, идет в релиз. Нет? Ну и черт с ним. В таких условиях rock stars пускают корни, живут весьма долго (до десятка лет) и им хорошо.

Со стороны менеджмента здесь требуется легкий и ненавязчивый контроль — так, чтобы rock star не разбредались и их не "заносило" в бесперспективные эксперименты. Ну и так же мягко доносить, что та или иная интересная ему разработка нерелевантна.

Есть другой замечательный пример работы с rock stars — это Google, в котором rock star-у дают возможность заниматься тем, что он хочет. Google их кормит, поит, одевает и защищает от внешних угроз. Взамен — все, что rock star наизобретает — будет принадлежать и продвигаться Google, превращаясь в его продукты. Fair enough. Эдакие посевные инвестиции в отдельно взятой компании.

Бэкграунд: лицей или другая хорошая школа, высшее образование в хорошем ВУЗе по IT-специальности или же математике. Круглый (хотя бы овальный) отличник. Вероятно, участие в серьезной научно-исследовательской деятельности (научные публикации как плюс) и/или олимпиадное программирование прямо со школы.

Ценит: покой (пока решает задачу), свободный ненормированный график с возможностью удаленной работы, адекватность менеджмента, возможность поработать с другими rock stars, сложные, интересные и нестандартные задачи, стабильное финансирование. Офисные плюшки или воспринимает как должное или игнорирует напрочь, но в целом не испытывает к ним особого пиетета.

Сильные стороны: сложные задачи, исследовательская деятельность, нередко проектирование.

Слабые стороны: зачастую наличествуют проблемы в коммуникации, отсутствует стрессоустойчивость, нестабильность в компании или проекте легко спугивает rock stars, жестко поставленные сроки превращаются в стресс, невозможность переключаться по предметным областям — только разве что по своему желанию. Не смотря на всю творческость, несамостоятелен за пределами своих задач.

Собеседование: алгоритмы и структуры данных, оценки сложности, олимпиадные задачи — ваши надежные друзья. Можно заставить разворачивать дерево на доске (но зачем?) — но гораздо лучше дать несложную математическую задачу. Главное не спешите и не торопите: дайте человеку подумать столько, сколько ему нужно. Творческие задачи, задачи на соображалку (ну только не про люки же!) и задачи на проектирование в формате "давайте порассуждаем" и "предложите решение" так же неплохи. В резюме смотрите на образование и публикации. Поспрашивайте про участие в олимпиадах, научно-практических конференциях, поинтересуйтесь темой дипломной работы. Если рассказывает с горящими глазами — вы нашли то, что нужно. Так же стоит удостовериться, что соискатель знает в совершенстве какой-нибудь язык программирования (любой), иначе не очень понятно как он будет реализовывать свои эксперименты.

Чего спрашивать не стоит: не задавайте глупых вопросов. К глупым вопросам относится: детали реализации чего-либо а-ля "а что делает HTTP-заголовок Content-Length?", вопросы про коммуникативные навыки и прочая психология (да, rock stars могут обладать абсолютно мерзким характером — но что поделаешь, такова плата за них), и уж тем более не заикайтесь и даже не думайте проверять стрессоустойчивость. Пунктуальность проверяйте только на уровне "не пропадает на неделю и ладно".


Делец (Software Engineer)

Редкий зверь в наших краях. Его иногда называют "ориентированный на результат", "любой каприз за ваши деньги". Эдакий линейный программист, который неожиданно (а на самом деле — предсказуемо) обзавелся самостоятельностью, самомотивацией и начавший расти туда, куда считает нужным. Это не rock star, потому что его не интересуют глубокие и абстрактные задачи. Его интересуют работающие инструменты, приносящие конкретную, ощутимую пользу, которую можно потрогать руками здесь и сейчас (зачастую — в виде хрустящих купюр в кармане, но об этом позже). Если работающего инструмента нет — делец делает его для себя сам. Очень любит конкретику в постановках задач, в технологиях и — что самое важное — в общении. Про таких еще говорят "строгий, но справедливый". Коммуникативные навыки хорошие. Политкорректен, дружелюбен, не тяжел, хотя бывает грубоват и склонен к занудным формальностям. Делец таков не от хорошей жизни, потому как грубиянов и молчунов суровая реальность дельца быстро ставит на место. Будешь грубить — угрохаешь репутацию. Будешь молчать — не получишь заказы. Не будешь избегать и разрешать конфликты, лезть на рожон — останешься без денег. Материалист. Работает с теми задачами, которые ставит для него объективная реальность. Если чего-то не понимает — спрашивает и добивается конкретного ответа. Его хлеб — тщательно подобранный или разработанный собственноручно инструментарий, опыт, умение разбираться во всякой гадости в приемлемые сроки и работа на скорость и на качество. Инструментарий подбирает сам или посоветовавшись с другими дельцами — и не дай вам б-же дать ему совет в этот момент. Ответственный. Хороший делец не срывает сроки и обеспечивает рабочий и поддерживаемый продукт. К говнокоду относится как к одному из инструментов. Может занять технического долга, если это уместно и полезно в конкретной ситуации, учитывая специфику проекта. Сведущ в менеджменте. Нередко понимает в нем больше, чем непосредственный начальник. На основании этого может рекомендовать ad-hoc управленческие решения. Из профессиональных изъянов стоит отметить невнимательность к мелочам, но и это у хороших дельцов лечится.

Крутое описание — не правда ли? В чем же подвох? Подвоха тут два. Первый заключается в том, что делец не терпит над собой никакого начальства, особенно если оно менее квалифицированно чем сам делец. Во многом это обусловлено той самой осведомленностью о способах менеджмента. Ну еще и тем, что делец сам прекрасно понимает как делаются деньги в IT-индустрии. Как следствие — делец не подчиняется приказам. Делец сотрудничает в рамках контрактов. Любая попытка заставить дельца делать что-либо за пределами контракта (если не формально подписанного — то хотя бы устно оговоренного) — ведет к вежливому отказу в лучшем случае или к расторжению контракта в худшем. Если делец не подписывался отсылать вам ежедневные отчеты — он этого делать не будет. Если не подписывался тратить на вас 8 часов в день (при наличии сроков сдачи задания) — то он этого делать не будет. Если не подписывался на правки по проекту — ну вы поняли. Однако если вы выкупаете оптом какое-то кол-во рабочего времени дельца (без конкретных сроков и конкретных задач), то он с радостью будет выслушивать ваши стенания, невнятные требования, поддакивать и участвовать в любой корпоративной шизе — ну а что? Уплочено же. Любой каприз за ваши деньги.

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

Долгосрочными контрактами на маленькие ежемесячные суммы его не заманишь. Только на большие — выкупайте рабочее время оптом, да. Как следствие — делец часто меняет место работы (в той мере, в которой для него существует это понятие). Засидишься — станешь линейным программистом. Как следствие — квалифицирован решать довольно широкий спектр задач. Помните — хороший делец всегда стоит своих денег. А если вы не дадите ему достаточно денег — делец попытается реквизировать рычаги управления. Разными способами — от наглого увода заказчика и команды (если у него есть такие полномочия), до честного разговора по душам. Если это не удастся — он вас быстро и решительно покинет, потому как а зачем? Хорошие дельцы заканчивают открытием собственных компаний, но, как было сказано выше, дельцов в нашей стране в принципе мало.

Бэкграунд: часто самоучка. Занимается программированием потому что интересно. Высшее образование наличествует, но стоит смотреть на репутацию учебного заведения. Если учебное заведение серьезное — то троечник. Ибо как работает с первого курса. Да и вообще изучению всяких наук предпочитает по-скорее добраться до реальной работы. Очень часто фрилансит. У некоторых дельцов проблемы с фундаментальными знаниями. Однако если это точно делец — то эти проблемы легко решаются.

Ценит: высокую оплату своих услуг (именно в такой формулировке), соблюдение договоренностей, качественные решения проблем. График и плюшки — по договоренности, но обычно предпочитает свободный график, не привязанный к месту работы с фиксированными целями, а плюшки — да выдайте лучше деньгами.

Сильные стороны: широкая и в меру глубокая квалификация, самостоятельность, ответственность, ориентированность на результат, толерантность к нестабильности в компании (пока соблюдаются его контракты), толерантность к недолгосрочным контрактам и внезапным их расторжениям (не нарушениям, а расторжениям я сказал!), слоновья стрессоустойчивость.

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

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

Чего спрашивать не стоит: алгоритмические вопросы, математика, задачки на внимательность и прочая чепуха, которую спрашивают у rock stars. Разве что только на уровне концепции. Ну то есть делец может в общих чертах знать что такое, скажем, бикубическая интерполяция, но не заставляйте его реализовывать её на бумаге или на компьютере без интернета — будете справедливо (но вежливо) посланы. Отдельным пунктом следует упомянуть тестовое задание. Не давайте стандартных тестовых заданий: хороший делец таких заданий за всю жизнь переделал столько, что вам и не снилось и еще одно ему вот вообще не нужно. Далее. Смиритесь с тем фактом, что тестовое задание — это трата рабочего времени дельца. Приготовьтесь к тому, что оно будет платным. Предложите заключить NDA, временный контракт и сделать, например, коммит с фиксом бага для какого-нибудь вашего продукта или какой-либо системы с условием оплаты по выполнению и оговоренными требованиями к качеству. Это — самый эффективный метод. Не забудьте рассказать как настроить окружение. У хорошего дельца это не займет много времени, но бывают казусы.


Пассажир (business bullshitter)

У этого типажа много "ласковых" названий в народе. Наименее квалифицированные коллеги ему подчиняются, более квалифицированные его не любят. Начальники таких обожают и дальше я объясню почему. Кратко: пассажир харизматичен. Всё. Много и красиво говорит, но катастрофически мало (или некачественно) делает. Повышенная коммуникабельность — его хлеб и зачастую пассажир попадает на менеджерские должности, так как не знает как сделать самому, но обладает достаточным ораторским талантом чтобы заставить работать кого-то вместо себя, и — более того — убедить начальника что именно он и должен руководить проектом. Во всем он демонстрирует серьезность, рвение и уверенность в себе, стремится порешать любую проблему, организовать совещание и обсудить, обязательно учитывая мнение команды. Со стороны может показаться что у него шило в известном месте. Он почти всегда на связи, всем отвечает на письма, показательно вежлив (так, что врезать порой хочется извините вырвалось) и может найти подход хоть к самому дьяволу. Один только минус — техническая квалификация. По правде говоря, ему не очень нравится программирование (вплоть до отвращения), но очень нравится покомандовать. Поэтому слабую техническую квалификацию (или её полное отсутствие) он часто "замазывает" красивыми словами, показным участием, заинтересованностью, дружелюбием и коммуникабельностью. Одна из самых страшных ошибок — ставить таких людей на средние менеджерские должности в командах. Как только вы это сделали — всё. Вы больше не получите достоверных данных о том, что происходит внутри команды с технической точки зрения. У вас будет красиво представленный бриф по происодящему, но те места, которые пассажир не понимает на техническом уровне будут из него исключены. А это в 90% случаев — скрытые проблемы и разнообразные детонаторы.

Тем не менее, грамотно подобранный пассажир может помочь команде общаться с заказчиком. Например, для пассажира ничего не стоит убедить заказчика перенести дату релиза — и при этом последний еще и будет думать что это наилучшее решение. Использовать пассажиров в роли дипломатов для заказчиков — одно удовольствие. Однако помните: харизматичные пассажиры — это как токсичный анестетик широкого спектра действия. Имеет смысл периодически опрыскивать им заказчиков, однако утечка бочки анестетика внутри команды приводит к весьма плачевным последствиям.

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

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

Сильные стороны: коммуникабельность, способность убеждать, способность доносить информацию красочно, с шутками-прибаутками, про стрессоустойчивость лучше спрашивать отдельно

Слабые стороны: техническая квалификация. Многие технические вещи способен понимать лишь тезисно. Активен, но быстро теряет интерес и концентрацию на сложных и средних технических задачах. А в худшем случае — и вообще на любых задачах.

Собеседование: определитесь с тем нужен вам пассажир или нет. Если нет — при повышенной общительности и дружелюбности соискателя — держать ухо востро. Настоящие специалисты ведут себя спокойно. Старайтесь отсеивать красивые слова, общие утверждения, а выделять суть сказанного. Поинтересуйтесь достижениями в техническом плане. Попросите показать свой домашний проект, объяснить как он работает. Хорошо помогают те же вопросы что и для линейных программистов. Следите за тем, чтобы там, где соискатель не знает — честно говорил "не знаю", а не пускался в пространные рассуждения. Ну и тестовое задание как всегда. Если к тестовому заданию будет объемное пояснение, в коде — не продраться от комментариев и соискатель рвется объяснить как он это сделал — перед вами пассажир. Ежели пассажир вам все-таки нужен, то поинтересуйтесь как бы он объяснил заказчику срыв сроков релиза. Так же душевный разговор на предмет знания методик управления — SCRUM, PMBOK и разбор управленческих кейсов — могут возыметь положительный эффект. Но это уже история не про программирование.

Чего спрашивать не стоит: в случае с пассажиром — запретных тем нет (в рамках приличия). Если возникли подозрения на то, что перед вами пассажир — попробуйте вот что: задайте какой-нибудь вопрос, на который технический соискатель бы отказался отвечать по причине нерелевантности. Поговорите… Ну я даже не знаю. Про то, какую музыку любит соискатель, или фильмы, или игры. Или куда он ездил путешествовать. Если перед вами пассажир — то будет длинный рассказ. Если вы ошибаетесь — то вам ответят кратко и тезисно.


Выводы

Отдельной строкой стоит заметить, что четкой границы между этими типажами нет. Человек вполне может находиться где-то между дельцом и rock star, или rock star может дрейфовать в сторону пассажира. А прямо сейчас какой-нибудь линейный программист может перепрыгивать в дельца, увольняясь с уютной галеры и заводя аккаунт на UpWork. Поздравим же его с этим! Однако концептуально я склонен считать, что стабильно и в долгосрочной перспективе любой программист плотно обосновывается в одном из этих четырех типажей.

Возвращаясь к описанной первоначально ситуации. Если вы набираете и растите потенциальных rock stars, то использовать их на аутсорсных проектах — это как забивать микроскопом гвозди. Если же вы выращиваете дельцов — будьте готовы делиться деньгами и полномочиями. А для решения задач аутсорса вполне подходят крепкие линейные программисты. Если это сложный аутсорс — то с добавлением одного rock star или дельца в команду на "птичьих правах". В противном случае, если вы культивируете rock stars в своей компании, но у вас аутсорс — то смиритесь с тем, что единственный возможный способ на этом заработать — забирать себе промежуточные артефакты их работы. После того, как они вырастают — их надо отпускать. При том отпускание должно быть встроенно в саму бизнес-модель и кадровый пайплайн компании. Так вижу.

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

Спасибо за внимание! Хороших вам кадров!

16 типов программистов, или Разработчики – это не одинаковые роботы / Хабр

Часто можно услышать такие слова, как “впишется / не впишется в коллектив” в адрес того или иного разработчика. У кого-то это вызывает возмущение, у кого-то руки опускаются после очередного отказа на собеседовании или при внезапном увольнении. Да и с обратной стороны баррикад этот вопрос не дает людям покоя. А в последнее время на фоне всей этой ситуации с коронавирусом пошли слухи о массовых сокращениях и я решил поговорить немного на тему управления коллективом.

Задумывались ли вы, по каким принципам вы выбираете себе сотрудников? Кого нанять, кого уволить, кого перевести в другое место? Ну то есть помимо чисто технических знаний? Интуиция? Если да, то это как-то странно, должны же быть какие-то более систематизированные соображения на этот счет…

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


Прежде, чем начать, предупреждение

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


№1. “Невидимка”

Он как бы есть, но как бы и нет. Часто он будет “непризнанным лидером” в коллективе – вроде бы и код пишет, вроде бы и полезные идеи предлагает, может быть даже тасок закрывает больше других… Но тимлидом делают кого-то другого, на конференции отправляют кого-то другого, новый монитор покупают кому-то другому, и этот программист начинает всем доказывать, что он круче всех, чтобы его заметили. Причем эти доказывания быстро утекают из рабочих обязанностей в какие-то словесные дуэли с коллегами и соревнования разного рода. Но честные ли они будут? Может быть. Но скорее нет. Он часто будет сам придумывать правила игры и жульничать, только чтобы победить. Хотя возможность показать себя в сложной ситуации ему тоже будет на руку. А если его не заметят – он будет придумывать все новые способы стать “круче” окружающих.

(+): Ему можно дать невыполнимую задачу и он ее решит из принципа, чтобы показать, что он может.
(–): Склонен совершать необдуманные поступки, нуждается в присматривании.


№2. “Одержимый”

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

(+): Может быть классным евангелистом и продвигать действительно полезные идеи.
(–): Неуправляемый. Тут скорее “вы с ним”, чем “он с вами”.


№3. “Рецидивист”

Совершает преступления против человечества – использует все возможные антипаттерны программирования, его код похож на доширак из костылей. Ему даже самому может быть тошно, даже если он никому этого не говорит. Рано или поздно проект становится тяжело поддерживать. Что можно в этой ситуации сделать? — Правильно, написать больше костылей, чтобы хоть как-то, но работало. Это позволит ему писать еще больше костылей, еще сильнее увязая в этой пучине.

(+): Внедрит все необходимые решения.
(–): В одиночку может увеличить технический долг проекта до бесконечности.


№4. “Гений”

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

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


№5. “Гладиатор”

Настоящий шоумен. Может превратить любую дичь в представление и извлечь из этого пользу. Не факт, что он будет толковым программистом (хотя всякое бывает), но его конек — корпоративные игры. Устроить расправу над кем-нибудь, найти крайнего, для него будет легче легкого. Но это обязательно должно быть на публике, без аудитории он теряет смысл своих действий. Чем выше он будет подниматься по карьерной лестнице, тем масштабнее будут его выходки, но, как ни странно, окружающие его всегда поддержат. Хотя кому-то точно достанется.

(+): С легкостью принимает непопулярные решения, берется за грязную работу.
(–): Может внести хаос в коллектив, если подставит полезного сотрудника.


№6. “Творец”

Этот персонаж скорее всего сидит где-то в уголке и пишет код. Причем неплохо так пишет, скорее всего там будет все аккуратно, понятно и в сроки. Возможно, что это будет один из немногих членов команды, который занимается саморазвитием, старается не просто “закрыть все таски”, но и стать лучше как разработчик в процессе. Если посмотреть вокруг, то вряд ли кто-то будет замечать его работу в проекте, разве что он уйдет – вот тогда все спохватятся, а пока он тут – ну есть он и есть, никому нет дела. Это не может не влиять на нашего героя, он часто сомневается в себе, недооценивает свои способности, и прилагает много усилий для саморазвития, причем сам того не замечая становится высококлассным специалистом.

(+): Ценный кадр, который не просто решает задачи, но и делает это хорошо.
(–): Часто становится жертвой корпоративных игр, нуждается в покровительстве.


№7. “Философ”

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

(+): Может быть сильным специалистом с широким кругозором.
(–): Не может работать в рамках системы, особенно в долгосрочных проектах.


№8. “Узник”

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

(+): Может работать в действительно тяжелых условиях, решителен.
(–): Часто груб, нужно следить за ним и разруливать конфликты.

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


№9. “Мученик”

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

(+): Станет центром спокойствия в условиях бури, очень стабильный сотрудник.
(–): Инициативы от него не ждите.


№10. “Беспомощный”

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

(+): Есть потенциал, может стать полезным и лояльным сотрудником.
(–): Требует вложений в себя.


№11. “Заглаживающий вину”

Этот персонаж часто будет оправдываться. За свои нехорошие действия или за подчиненных, но будет. Самая частая ситуация – нагородить костылей, сделать ужасный в плане поддержки проект, который коллегам стыдно показать, и защитить его словами, что “он решает задачи бизнеса”. Формально вы к его аргументам не подкопаетесь – ведь действительно задачи решает, да и на встречу в любых переговорах он идет, но вот побочные эффекты от его бесконечных спорных решений будут лезть из всех щелей, хотя на них всегда найдутся оправдания или контраргументы в виде объективно полезных дел.

(+): Может быть хорошим буфером между конфликтующими по интересам сторонами.
(–): Часто за ним приходится многое переделывать, поскольку нехорошие действия компенсируются только в моральном плане, но не по факту.


№12. “Бездельник”

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

(+): Легко нанять, закрыть им горящую вакансию, не требующую глубоких знаний.
(–): Может быстро выдохнуться, начнет требовать больше, чем делает.


№13. “Лох”

Немного грубое название, да? Ну что ж, к сожалению в великом и могучем языке похоже нет не жаргонного слова, передающего контекст “человек, которого разводят”. Этот персонаж легко поддается манипуляциям вроде “ну ты же вон какой крутой программист...” или “а вот если этот проект выстрелит...”, и в результате он очень много работает, перерабатывает, хотя ему самому это не особо то и нужно. В результате он будет истощаться, и с одной стороны будет еще более “удобным” сотрудником, но с другой стороны – он будет истощаться все сильнее и неизвестно еще чем это закончится. Он легко может прийти к состоянию, когда работает с утра до ночи, но вот результата что-то не видно, потому что голова уже не варит.

(+): “Удобный”, покладистый сотрудник. Будет работать столько, сколько скажут.
(–): Будет истощаться, нужно со стороны следить, чтобы он не перегорел.


№14. “Потребитель”

Лояльность компании? Да вы шутите! Этот герой мыслит в категориях более приземленных. Если ему тепло и хорошо – он доволен. Если не хорошо – плюнет на всех не задумываясь и уйдет. Он может иметь хорошие навыки, но работать будет по часам: сколько заплатили – столько и поработал. Свое получил – ушел. Что-то не сделал? А в ТЗ оно было? Нет? Ну и все, вопрос закрыт. Переработки, особенно не оплачиваемые, быстро заставят его задуматься о том, чтобы вас покинуть. Да и вообще он не то, чтобы очень любил работать. Скорее он будет делать свою работу как попало, лишь бы получить свою награду и пойти ее тратить.

(+): Очень предсказуемый.
(–): Нужно постоянно следить за качеством работы, без надзора и пальцем не пошевелит.


№15. “Конформист”

Ну мы тут в компании уже 20 лет так делаем, вроде все работает, так чего менять то? Как вы уже догадались, перемены – это не самая любимая вещь у такого программиста. Он будет сидеть на устаревшем стеке не потому, что он и правда так хорош, или потому, что на переписывание легаси нет денег, а скорее по привычке. Или даже из страха, что что-то поменяется. У таких разработчиков часто бывает страх, что молодые их “подсидят”, и если такой персонаж окажется у руля, то он будет плавать в древних решениях как рыба в воде, не допуская ничего нового, а молодые будут в этом болоте как без рук. И, надо сказать, что сидеть он так может очень долго. Иногда это хорошо, но иногда он может тормозить развитие в компании.

(+): Может быть “хранителем” старых и долгоживущих проектов, которые нужно поддерживать.
(–): Абсолютно несовместим с новыми технологиями.


№16. “Жертва”

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

(+): Может стабильно работать, не имеет каких-то неадекватных требований.
(–): Нуждается в защите и покровительстве.


Комбинации моделей поведения

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


Откуда взялся именно этот набор типажей?

Возможно вы уже задались вопросом о том, насколько этот набор универсальный. Ведь если заменить слово “программист” на другое название профессии, то поменяется не очень многое. И да, в этом вы правы. Данные типажи – это часть ядра “Пирамиды адаптации” — более глобальной и универсальной схемы, которую я разрабатываю в последнее время. Она описывает принципы, по которым человек адаптируется в обществе и связывает все эти модели поведения в единую схему. Если вы интересуетесь свежими идеями в психологии и социологии, то приглашаю вас ознакомиться с одноименной книгой, почитать PDF версию которой можно бесплатно по ссылке. Но это так, к слову.


А что вы думаете по этому поводу?

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


UPD:

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

обзор профессии, чем занимаются и что должны знать

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

Говоря простыми словами, разработчик ПО – это IT-специалист, который делает компьютерные программы разного назначения, например:

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

Кратко перечислим, чем обычно занимается разработчик ПО:

Расскажем, что должен знать и уметь любой разработчик программного обеспечения:

Знания и навыки конкретного специалиста зависят от того, каким направлением разработки он занимается. Выделяют 3 специальности.

Frontend-разработчик – создает внешнюю (видимую) часть программы, с которой контактирует пользователь: текст, изображения, кнопки, поля ввода и пр. Что должен знать фронтендер:

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

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

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

Подборка курсов Все онлайн-курсы разработки ПО в 2021 году

Посмотреть подборку

Разработчик ПО – это востребованная, перспективная и хорошо оплачиваемая специальность. По оценке разных источников, она входит в ТОП-50 профессий мира. Специалист со знанием хотя бы одного языка программирования может работать в штате или на фрилансе, даже имея небольшой опыт. Чтобы оценить спрос на программистов, мы посмотрели актуальную информацию на сайте по поиску работы Head Hunter.

На текущий момент количество вакансий для разработчиков превышает 2800, из них почти 400 – без требований к опыту, еще 900 – с возможностью работать удаленно.

Больше всего объявлений – от компаний Москвы, Санкт-Петербурга, Новосибирска, Нижнего Новгорода и Екатеринбурга. Явного преобладания по frontend или backend нет – представители обоих направлений одинаково востребованы. Чаще всего работодатели ищут специалистов с опытом около 3 лет.

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

Отрасли, в которых чаще всего работают представители этой профессии:

К примеру, на данный момент разработчики ПО требуются в Транснефть, Газпром, РЖД, Лабораторию Касперского и Mail Group.

чем занимаются и как ими стать — статьи на Skillbox / Skillbox Media

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

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

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

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

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

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

Схема работы backend.

Backend-разработчики пишут сайты на PHP, Ruby, Python, ASP.NET и других языках, чтобы мы могли:

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

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

Frontend — это то, что мы видим: текст, картинки, кнопки, формы и так далее.

Frontend-разработчик использует HTML, CSS и JavaScript, чтобы дать пользователю возможность взаимодействовать с сайтом:

Серверная часть будет бессмысленной, если она не будет нигде отображаться.

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

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

Виды компаний и разработки | Жизнь программиста

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

В этом уроке мы поговорим о том, какие бывают компании и направления в разработке.

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

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

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

Заказная разработка (outsourcing)

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

Из-за особенностей бизнеса заказной разработки, по сути построенного в том или ином виде на продаже времени своих сотрудников, он стабилен, когда в нём много разработчиков — чем больше, тем лучше. По этой причине аутсорсеры стараются быть очень большими, у них работает очень много молодых разработчиков, они часто интегрируются с университетами, имеют кучу офисов по всему миру. В крупных компаниях, таких как EPAM, Luxoft и DataArt, работают тысячи девелоперов. Эти компании действительно зарабатывают много денег и очень стабильны. Помимо таких гигантов, в аутсорсинге работают очень много небольших компаний: от 1-2 до 50-100 разработчиков. Однако чем меньше компания, тем более она нестабильная: если у вас в одном месте где-то заказ не пошёл, освобождаются люди, которых надо чем-то занимать, иначе их зарплата не будет окупаться. С одной стороны, этому бизнесу присущи большие риски, но с другой, его очень легко начать — отсюда и большое количество компаний в нём. Можно просто позвать своих друзей и предложить им делать аутсорсинг. После этого нужно найти первых клиентов — и можно работать. А дальше по сарафанному радио о компании узнаёт все больше и больше клиентов, и при хорошем раскладе можно успешно зарабатывать. Некоторые компании, осуществляющие заказную разработку, именно так и начинали свою деятельность.

Продуктовая разработка

Другое большое направление — это продуктовая разработка, когда компании занимаются развитием какого-то продукта, интересного потребителям. Если у вас действительно получается сделать какой-то востребованный продукт, то соотношение заработка к затратам обычно несоизмеримо. В аутсорсинге все достаточно просто: вы берете человека, он обходится вам в такую-то сумму, зарабатываете вы с его помощью такую-то сумму, масштабируетесь и линейно растёте. В продуктовой разработке, если ваш продукт востребован, вы можете иметь команду в 4 человека, но при этом зарабатывать миллионы долларов и обслуживать миллионы пользователей. Эта модель немного интересней, потому что позволяет вам неограниченно масштабироваться, но создать такой продукт значительно сложнее, чем начать аутсорсинг. Кроме того, жизненные циклы некоторых продуктов время от времени подходят к концу из-за изменения конъюнктуры рынка, реалий или по иным причинам, и они перестают существовать, поэтому важно уделять внимание их диверсификации.

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

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

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

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

Серверное ПО

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

Прикладное ПО

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

Системное ПО

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

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

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

Desktop

Теряющее популярность, но все ещё очень активное направление — это десктоп. Это так называемые "толстые клиенты", когда программа запускается локально, чаще всего без подключения к интернету.

В этом направлении всегда были популярны такие языки, как С++, Java и C#, но на пятки признанным авторитетам наступают те языки, которые еще не так давно никто не планировал использовать для написания толстых клиентов.

Но современный мир диктует свои правила, и универсальным языком, который все глубже проникает абсолютно во все направления разработки и на котором появляется всё больше приложений, стал JavaScript. Даже представители компании Microsoft заявили, что в будущих операционных системах Windows все приложения будут использовать HTML и JavaScript. И действительно на JavaScript уже пишут серьёзные толстые клиенты и приложения на десктопе. Яркий тому пример — Atom, очень популярный редактор, который будет использоваться во многих наших уроках и который мы рекомендуем поставить. Этот редактор выпущен Github и основан на фреймворке Electron, который использует JavaScript, что позволяет строить кросс-платформенные приложения: то есть такие, которые пишутся один раз, но работают на всех платформах.

Языки в Mobile

Следующее направление — мобильное, и здесь есть две базовых ветви разработки: Android и iOS.

Android: Java, Kotlin

В Android раньше был только Java, но сейчас большие обороты набирает язык Kotlin. Люди, использующие его в своих проектах, говорят, что теперь разработка под Android стала действительно приятной.

iOS: Objective-C, Swift

Для разработки в iOS не так давно вышел язык Swift, на который мигрировало большинство разработчиков, поскольку хотя Objective-C долго был главным и единственным языком, но уже морально устарел. Swift — это отличный свежий язык с правильными идеями, который Apple внезапно сделала open-source — а значит его скоро можно будет использовать вне iOS, что может быть весьма интересно, потому что этот язык обладает кучей полезных качеств.

Языки в Web

И наше главное направление — это веб. Оно делится на 2 подраздела: бэкенд и фронтенд. Любое веб-приложение в конечном итоге имеет ту часть, которая взаимодействует с пользователем, и почти всегда это тонкий клиент — браузер, в котором крутятся приложения. Если раньше это был просто HTML, и вся логика происходила на сервере, то сейчас логики в браузере становится все больше и больше, и он становится по-настоящему "толстым" и "тяжелым".

Backend

Утяжеление тонких клиентов не отменяет того, что на бэкенде все равно должны храниться данные и выполняться определенная логика. Для бэкенда в вебе существует огромное количество языков. Теоретически, можно использовать вообще любой, но на практике используются чаще всего именно те, который указаны выше. Java, Clojure, Kotlin, Scala, Groovy — это всё языки, построенные вокруг JVM, платформы, которая позволяет использовать их все вместе сразу, по очереди и как-то соединять между собой, поэтому можно сказать, что это одно семейство. Язык Go появился недавно, но очень быстро занял определенную нишу, и используется всё чаще. И, конечно же, самый популярный язык веба — это PHP, который является лидером, несмотря на все свои недостатки, и на нём сделано очень много сайтов, и с каждым днём их число лишь растёт.

Frontend

JavaScript присутствует и в бэкенде, и во фронтенде, и он будет все больше проникать в незанятые ранее ниши. JavaScript сейчас очень активно развивается и становится всё более серьёзным и классным языком.

Что выбрать? Критерии

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

Область, к которой лежит душа

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

Требуемая квалификация

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

Количество вакансий

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

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


Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты.

Ошибки, сложный материал, вопросы >
Нашли опечатку или неточность?

Выделите текст, нажмите ctrl + enter и отправьте его нам. В течение нескольких дней мы исправим ошибку или улучшим формулировку.

Что-то не получается или материал кажется сложным?

Загляните в раздел «Обсуждение»:

Об обучении на Хекслете

Программирование с нуля: с чего начать и как выучить

Евгений Кучерявый, автор блога онлайн-университета SkillBox, рассказал, чем занимаются веб-разработчики и какие языки им непременно нужно знать.

Frontend-программист

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

1. Обучение HTML

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

2. Обучение CSS

Внешне написанная на HTML интернет-страница будет напоминать простейший текстовый документ. Чтобы «оживить» его, используется каскадная таблица стилей или CSS. Она меняет не структуру страницы, а ее внешний вид: шрифты, расположение элементов, тени и цвета. Другими словами, если HTML используется для описания логической структуры страницы, язык CSS отвечает за графические элементы и прописывается в отдельном файле.

3. Обучение JavaScript

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

Вчерашняя техника уже завтра: могут ли устареть языки программирования

Backend-программист

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

1. Обучение PHP

Базовый инструмент backend-разработчика — язык программирования PHP. Он нужен, чтобы связать видимую пользователю страницу с сервером, где хранятся какие-либо данные. Например, чтобы не выкладывать на веб-сайт по одной фотографии при помощи HTML, можно запустить скрипт, автоматически подгружающий туда условную галерею, лежащую на сервере. Язык PHP настолько сильно упрощает работу по созданию сайта, что изучать его SkillBox рекомендует и frontend-разработчикам.

2. Обучение SQL

Аббревиатура SQL расшифровывается как «структурированный язык запросов». В отличие с PHP, который нужен для связи сайта с сервером, языки SQL позволяют управлять уже самими базами данных. Сейчас существует множество подобных языков, самые распространенные из которых — это MySQL, MSSQL, PostgreSQL и прочие.

Разработчики «полного цикла» в совершенстве владеют языками, необходимыми как для frontend-, так и для backend-программирования. Они являются универсальными специалистами, хотя, очевидно, глубина их погруженности в какую-то конкретно область веб-разработки уступает осведомленности узких специалистов.

Какие программисты? Мы развенчиваем 5 самых распространенных стереотипов

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

Чтобы дать вам более реалистичное представление об их задачах, особенностях и проблемах, мы развенчаем 5 распространенных стереотипов программирования.

Программисты скучны и у них скучная работа

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

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

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

Программисты знают об ИТ все

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

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

Программисты просто пишут код, и все готово

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

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

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

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

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

Программисты антисоциальны

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

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

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

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

Программирование - это мужское дело

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

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

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

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

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

В Codecool мы можем привести вас к гарантированному технологическому положению в течение года - благодаря нашему курсу Full-Stack, и мы будем поддерживать вас все время.

Звучит интересно? Пожалуйста свяжитесь с нами!

Мы будем рады ответить на любые ваши вопросы и помочь вам принять обоснованное решение.

.

[Отчет] Программист в нерабочее время. Кто он и чем занимается после работы? - ИТ-индустрия в Польше

Международный день программиста отмечается 12 сентября. По этому поводу мы подготовили необычный репортаж «Программист в нерабочее время». Необычно, потому что из него мы можем узнать, что люди, работающие в ИТ-индустрии и кодировании, ботаники (а не ботаники) думают о себе, что они едят, что пьют, как им нравится одеваться и как они проводят свободное время.

Характеристики энкодера: тихий, с фокусом на обучение

Стереотипный программист - интроверт с высокими аналитическими способностями.Наша публикация подтверждает эту теорию - 58 процентов. программистов описывают свой темперамент как спокойный и методичный. Они не закрыты для мира и не прячутся в подвалах - им нравится узнавать новое, для 85% из них из них это даже удовольствие. Однако о карьере лидера они не мечтают - 67 процентов. предпочитает развиваться по своей специализации, , чем стать руководителем команды.

Однако работодателям следует быть осторожными! Почти все программистов (95%). Не мечтают о славе, предпочитают быть богатыми - 83 процента ответили. респонденты. На вопрос, что важнее - зарплата или атмосфера работы, большинство (54%) выбрали первое, а 46% - первое. указал второй вариант.

Они не бросят работу за горсть грейпфрутов, а едят здоровую и пьют… кофе

Программисты не любят серьезных ситуаций, вот что такое расставание с работодателем. 62% предпочел бы вместо этого очистить огромное количество грейпфрутов. Вместо так называемого выездные интервью, 52 процентаон предпочитает съесть лимон. Но и в старый хлам не вернутся - 71 процент. предпочла бы переквалифицироваться на выращивание лайма в Польше , чем вернуться на свою старую должность (здесь мы рекомендуем вам прочитать выводы отчета: «Уход в ИТ. Почему ИТ-специалисты уходят с работы?»).

70 процентов программисты пьют кофе, 25% чай, матэ и йерба также набирают популярность. Но размер (чашки) тоже имеет значение. Для 88 процентов, чем больше емкость для горячего напитка, тем лучше .

айтишников совсем не одиночки - 51% любит интегрировать с коллегами на мероприятии и 49 процентов. активно занимайтесь с ними спортом. Что касается физической активности, то 67% занимаются , из которых только 13% занимаются групповыми или командными видами спорта.

Удивлен? Заинтригованы? Для более проницательных наблюдений о программистах их глазами мы отсылаем к публикации. Мы рекомендуем вам скачать и поделиться.

.

языков программирования, которые стоит знать, чтобы заработать деньги в ИТ

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

ИТ-специалисты по-прежнему востребованы

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

Мы получили это заявление от г-жи Анны Дат-Хендлер, менеджера по подбору персонала в Atos Global Delivery Center Polska.

Джоанна Снопек, менеджер по персоналу Хикрон, придерживается аналогичного мнения, которая комментирует этот вопрос следующим образом:

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

Все вышеперечисленные данные получены в результате тщательного анализа, проведенного GitHub. Эти анализы проводились на основе спроса и предложения. Единственная ситуация, которая может привести ко многим изменениям, - это падение популярности языков. Эта ситуация также может привести к падению интереса программистов.

Сколько зарабатывает программист?

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

Заработок программистов на C / C ++

Самая высокая заработная плата - 12 000 злотых, самая низкая - 3 350 злотых. Средняя сумма составляет 6773 злотых.

90 028 Java - Заработок разработчиков

Медиана - 6774 злотых, самая высокая заработная плата - 12300 злотых, самая низкая заработная плата - 3460 злотых

PHP - заработок программиста

Самый высокий заработок в пределах 5700 злотых составляет целых 10%, 10% самого низкого заработка в пределах 2 730 злотых, средний заработок составляет 5 000 злотых.

90 044 Заработок в сравнении с заработной платой 90 047

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

Проверить отзывы о ИТ-компаниях:

Имеет ли значение регион для заработка программистов?

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

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

Что будет популярным через несколько лет? В какие коды стоит инвестировать, чтобы добиться успеха?

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

Нельзя отрицать, что последние несколько лет принадлежали языкам сценариев, но они постепенно теряют свое значение. Такого же мнения придерживается индекс Tiobe Index, который, среди прочего, указывает на то, что такие языки, как Ruby, Perl и PHP, считаются опасными.Заботясь о своем бизнесе, вы должны переключиться на другие языки, которые более безопасны при создании приложения.

Как управлять своей карьерой, чтобы оставаться на вершине в сфере IT?

.90 000 Не все программисты заработают целое состояние. Кто будет на высоте?

Однако не каждый ИТ-специалист или даже программист сможет рассчитывать на зарплату, в несколько раз превышающую среднюю по стране и ежегодно увеличивающуюся двузначными темпами. Также в IT мы наблюдаем растущую поляризацию сотрудников - лучшие специалисты получают предложения на 30-50 тысяч злотых. Злотых в месяц, но зато осенью ЦСУ искала опытного программиста, предлагая ему зарплату 2,3–4,5 тысячи. Брутто.

Большой выбор предложений

Одно можно сказать наверняка - в ближайшие годы будет много предложений о работе для программистов.Согласно опросу кадровой компании Hays Poland , почти каждая ИТ-компания (94%) объявила о планах набора новых сотрудников в 2020 году, чаще всего программистов, которые также ищут компании из других отраслей, например, банковского. Они были королями рынка труда в ИТ с начала этого десятилетия по количеству предложений о работе.

ЧИТАЙТЕ ТАКЖЕ: Кто такие программисты? Большой этюд и сюрпризы

- Предложения для программистов однозначно лидируют. В то же время привлечение лучших специалистов в этой области также является самой большой и сложной задачей для работодателей, - подчеркивает Лукаш Гжещик, эксперт Hays Poland, отвечающий за постоянный набор персонала в ИТ.Его мнение подтверждают данные портала Pracuj.pl - крупнейшего сайта вакансий с объявлениями о вакансиях для специалистов, впервые опубликованного Rzeczpospolita. Почти 83000 предложения о работе для ИТ-специалистов доступны в 2019 году на Pracuj.pl, их больше всего - 35 процентов. (почти 30 тысяч) разослано разработчикам. Кому чаще всего?

По словам Гжещика, тремя наиболее популярными языками программирования являются Java, C # и JavaScript. - В то время как Java уже много лет находится на переднем крае, JavaScript с его комплексными фреймворками сейчас становится одним из самых популярных языков, - добавляет эксперт Hays Poland.Как он объясняет, в то время как JavaScript раньше использовался для внешнего программирования (то есть для внешнего интерфейса системы, который видит пользователь), теперь он все чаще и чаще встречается в серверной части (техническая внутренняя часть системы). система), где Java по-прежнему безраздельно властвует.

Shutterstock

Cyfrowa.rp.pl

Доминика Опозда, старший ИТ-консультант компании Devire по подбору персонала и аутсорсингу, называет программистов на Python одними из самых востребованных ИТ-специалистов.С другой стороны, разработчики Java остаются в авангарде вознаграждения.

По данным портала объявлений о вакансиях No Fluff Jobs (который требует публикации шкалы окладов в каждом предложении о работе), зарплата специалистов по Java человек составила в среднем 12000 человек. По трудовому договору и 15 тысяч злотых. по очень популярному в IT B2B контракту. В свою очередь, программистам на JavaScript чаще всего предлагалось 11 тысяч. и 13 тыс. PLN (B2B).

DevOps у руля

Более высокие ставки приведены в отчете о заработной плате Hays Poland, в котором сравниваются предложения, поданные кандидатам хедхантерами.По его словам, Java-разработчик обычно может рассчитывать на 15 000 человек по трудовому договору. PLN (максимальные ставки достигли 19 тыс. PLN) и JavaScript - за 12 тыс. PLN. злотый. И это было на последнем языке в прошлом году. самый большой, потому что процентов почти 40. рост заработной платы, а у Java-программистов - не более 10 процентов.

ЧИТАЙТЕ ТАКЖЕ: Бесплатные наличные в банкомате. Гениальная афера с программистом

Если до недавнего времени девелоперы были королями рынка ИТ-труда и по доходам, то в последнее время эту финансовую корону захватили специалисты, у которых, помимо программирования, есть и другие навыки. Среди них DevOps Engineers, то есть специалисты по разработке ИТ-среды, сочетающие в себе навыки программирования, эксплуатации и управления.

Павел Здзех, менеджер по подбору персонала и коммуникациям в компании 7N, которая действует как агент для более 1300 ИТ-специалистов (в том числе 800 из Польши), считает, что сегодня эксперты DevOps и инженеры по большим данным являются наиболее востребованными специалистами в отрасли. И именно они могут рассчитывать на самые высокие ставки; в крупнейших городах Польши для наиболее высокооплачиваемых ИТ-специализаций (DevOps и Big Data) верхний уровень финансового диапазона для наиболее привлекательных предложений составляет ок.150–180 злотых + НДС в час - это примерно 25–30 тысяч злотых. Злотый в месяц.

Юношеские соревнования

Опрос Devire показывает, что в прошлом году 59 процентов. Специалисты ИТ-индустрии получали повышение, часто связанное со сменой места работы. Чаще, чем в IT, можно было рассчитывать на увеличение сервисных центров SSC / BPO (71%) или в автомобильной промышленности (61%). - Компании все больше защищаются от повышения ставок, поэтому динамика роста заработной платы в ИТ-индустрии замедляется, - считает Доминика Опозда из Devire.По ее словам, если в прошлом году средняя прибавка к зарплате в IT составляла порядка 10-15 процентов, то она не превысит 10 процентов. С другой стороны, начинающие юниоры могут даже ожидать падения ставок, потому что количество людей (выпускников ИТ-специальностей и курсов), начинающих свою профессиональную карьеру в ИТ, растет.

.Заработок 90 000 программистов в 2021 году. Сколько на самом деле зарабатывают программисты [НОВЫЕ ДАННЫЕ]

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

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

Нажмите на картинку и проверьте себя

Увеличение на 20%. Это то, на что могут рассчитывать пожилые люди в ИТ-индустрии. Согласно последнему отчету Just Join IT, первая половина 2021 года будет оптимистичной для всей отрасли. Хорошие настроения в ИТ-секторе отражены не только в отчете, но и в Барометре ITX (подготовленном JJIT) - изучающем настроение программистов и прогнозы развития отрасли.Последние опубликованные данные за май месяц показывают, что средняя заработная плата постоянно растет в 65% компаний, и 77% из них зарегистрировали рост занятости.

Теперь несколько слов об очень популярной в последнее время должности Data Scientist. «- В 2021 году спрос на специалистов в области анализа данных (Data Analysts, Data Engineers и Data Scientists) увеличился более чем на 200% по сравнению с предыдущими годами. В настоящее время около 40% запросов от клиентов Devire, работающих в сфере ИТ сектор занимается поиском кандидатов именно в этой сфере.Если посмотреть на все наши проекты по подбору персонала, то на те, что в области анализа данных, приходится около 30% », - поясняет Агата Миллер из Randstad Polska.

А сколько можно заработать с такой квалификацией? Паулина Червиньска из Randstad Polska говорит, что во время развития карьеры специалиста по вопросам вознаграждения Data Science его / ее вознаграждение может даже удвоиться. Начинающие специалисты на младших должностях зарабатывают от 10 тысяч. злотый. На руководящих должностях можно заработать до 25,5 тысяч.Злотый в месяц.

- Высокий спрос на специалистов по данным и параллельная нехватка кандидатов в этой области влияют на зарплаты. Если сравнивать текущие заработки с заработками 5-летней давности, можно заметить заметное увеличение заработной платы на 20%, - поясняет Агата Миллер, эксперт Devire. Согласно отчету Devire Review of Repensation 2021, специалист Data Scientist будет зарабатывать в среднем 16 500 злотых брутто. В свою очередь, младший получает зарплату около 10 500 злотых брутто. Пенсионеры с многолетним стажем, зарабатывающие до 24 лет, могут рассчитывать на более высокую зарплату.500 злотых. Стоит обратить внимание на крайности - опытные руководители могут рассчитывать на зарплату брутто 40 000 злотых.

Мы обсуждали, сколько зарабатывают программисты в апреле, с Петром Новосельским, соучредителем и генеральным директором Just Join IT. Во время встречи мы представили результаты последнего отчета JJIT о вознаграждении польских программистов. Петр ответил на вопросы наших зрителей и представил свои наблюдения об ИТ-индустрии в Польше.Если вы пропустили этот веб-семинар, теперь вы можете наверстать упущенное.

Но это не единственный источник информации о зарплатах в IT. Согласно отчету No Fluff Jobs, опубликованному в феврале 2021 года, доходы в ИТ-индустрии продолжают расти. То же самое и с предложениями о работе, которые во время пандемии увеличились более чем наполовину по сравнению с предыдущим годом.

Исследование No Fluff Jobs также показывает результаты исследования 2020 года. Здесь, среди прочего, мы видим, что специалисты по безопасности и большим данным могут рассчитывать на самые высокие зарплаты.Средняя сумма заработка по этим направлениям составила 16 тысяч. Нетто до 22 тысяч злотых. PLN нетто для B2B.

Тест на предрасположенность - проверьте, подходите ли вы на программиста!

«В 2020 году на nofluffjobs.com было опубликовано 26 189 предложений о работе, что на 58% больше, чем в предыдущем году. Это удивительный результат, потому что уже в марте мы наблюдали резкое сокращение количества объявлений о вакансиях (прибл. На 13% меньше по сравнению с периодом стагнации. Однако стагнация длилась недолго, поскольку рынок восстановился в июне и окончательно восстановился в сентябре, что привело к ежемесячному увеличению количества рекламных объявлений.Эта тенденция сохранялась до конца года, и четвертый квартал стал рекордным по этому показателю. Начало 2021 года только подтверждает, что тенденция все еще растет, и нет никаких признаков того, что спрос на ИТ-специалистов снизится ». - пишут эксперты NFJ

Это еще не все. Более 2000 программисты приняли участие в Национальном обследовании заработных плат Sedlak & Sedlak. Данные относятся к 2020 году, который фактически является периодом, когда на всем рынке труда преобладала пандемия.

Среди респондентов также были представители ИТ-индустрии, в том числе: