в чем разница между программистом и айтишником
Ремонт компьютеров
Ремонт компьютеров, выезд мастера в течении часа!
Ремонт и настройка компьютера производится в основном, в течении сегодняшнего дня, иногда и ночью!
Ремонт компьютера
Кто такие айтишники?
Услуги айтишника (IT-специалиста) сегодня пользуются огромной популярностью. К этой профессии относится большое количество специалистов, имеющих дело с информационными технологиями. Многие пользователи ПК задаются вопросом:
«Чем отличается айтишник от программиста?».
На самом деле к айтишникам относятся все специалисты, трудящиеся в области информационных технологий, а программисты лишь являются их частью. И если молодежь четко понимает разницу между компьютерщиком и компьютерным мастером, то люди постарше не понимают, почему верстальщик не сможет выполнить ремонт компьютера.
В чем заключается работа айтишника?
Работа айтишника, в первую очередь, связана с умственным трудом, предполагающим прием и обработку информации. В должностные обязанности IT-специалиста входит установка и настройка программного обеспечения, защита важных данных, диагностика и ремонт компьютерной техники, а также обеспечение ее работоспособности. Его основная задача заключается в устранении всех программных неисправностей, улучшении работы ПК и обеспечении информационной безопасности. При этом возможна помощь айтишника онлайн (через электронную почту или специальные программы), по телефону и лично.
Можно выделить следующие виды айтишников:
Бизнес-аналитики, выступающие связующим элементом между IT-технологиями и владельцами фирм
Разработчики софта, ПО и утилит
Специалисты, занятые работой в сфере информационной безопасности
Специалисты по трафику
Программист
Этот специалист занимается разработкой ПО для различных вычислительно-операционных систем. К нему нет смысла обращаться, если не печатает принтер, не включается ноутбук или не работает сеть, так как решение данных проблем в его обязанности не входит. Иногда он сам может вызвать айтишника, ведь в его компетенцию входит исключительно написание кодов для интернет ресурсов, приложений, игр.
Эникейщик
Это понятие происходит от слов «any» (какой-либо) и «key» (кнопка), то есть нужно нажать на какую-либо клавишу, чтобы система продолжила работать. Эникейщиками в шутку называют сотрудников компании, в обязанности которых входит техническая поддержка ПК-пользователей в пределах компании. Для этого не обязательно иметь специальное образование, поэтому эникейщиками часто называют студентов, которые хорошо разбираются в компьютерах.
Системный администратор
В его обязанности входит обеспечение бесперебойной работы Интернета и корпоративной сети. Настроив однажды сеть, сисадмин в дальнейшем только поддерживает ее в работоспособном состоянии.
Компьютерщик
Этот специалист по компьютерной технике обладает профессиональными знаниями в сфере компьютерных технологий. Он может как настроить оргтехнику, так и выполнить аппаратный ремонт компьютера и обеспечить его работоспособность. К компьютерщикам можно отнести системных администраторов, веб-разработчиков и службу технической поддержки.
Компьютерный мастер
Как правило, этот специалист обладает знаниями и опытом, позволяющими выполнять ремонт компьютерной техники любой сложности. Когда возникает необходимость вызвать айтишника в офис или на дом, компьютерный мастер почти всегда готов прийти на помощь и устранить любые проблемы с компьютером, будь то удаление вирусов, восстановление информации или замена неисправной детали ПК.
Какая разница между айтишником и программистом или ее нет?!
Программист — это специалист, который знает языки программирования и пишет при помощи них программы и приложения. С точки зрения IT-сферы, программист — узкая специализация, однако программисты также подвержены собственной градации в зависимости от того, что программируют: игры, приложения для компьютера, программы для мобильного телефона и другое.
Какая разница между айтишником и программистом
Айтишник не является какой-то конкретной специальностью, тако й как программист. Айтишником может называться любой специалист, связан ный с IT, например:
аналитик больших данных;
разработчи к программ или игр под разные операционные системы;
специалис т из сферы кибербезопасности;
системны й администрато р ;
системны й инжене р ;
архитекто р систем;
технически й писател ь ;
и другие специалисты.
Разница между айтишником и программистом у «нас» и у «них»
Пользователи более молодых поколений уже понимают разницу между айтишником и компьютерным мастером. Пользователи более старшего поколения эту грань «замыливают» и считают, что «программист» или «айтишник» легко может починить компьютер, причем может устранить программную и механическую поломку устройства.
если ты «программист», то ты не «айтишник», потому что ты принадлежишь касте «soft engineer» и работаешь в отделе «Software Engineering Depar tm ent»;
если ты занимаешься электронным оборудованием, то ты тоже не «айтишник», потому что ты работаешь в «Hardware Engineering Depar tm ent»;
Заключение
Если вы работаете или планируете работать в американской или просто продвинутой IT-компании в вашей стране, тогда будьте готовы к тому, что под термином «айтишник» будет скрываться конкретный специалист, который работает в IT-отделе. По функциональности он идентичен с «нашим» системным администратором.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Являются ли программисты айтишниками? И является ли проектирование на уровне регистровых передач программированием?
Перед нами девушка Лиля, с FPGA платой и учебником Харрис & Харрис в руках, на фоне самого высокого на Земле дерева Sequoia sempervirens, недалеко от Стенфорда в Silicon Valley.
Код на Verilog выглядит как программа? Но код на HTML тоже незнакомому с ним человеку может показаться похожим на программу.
В язык Верилог входят все черты языков программирования, в SystemVerilog есть даже классы и ООП, но это связано с тем, что верилог используется не только для написания кода, который превращается («синтезируется») в железо, но и для написания моделей, тестового окружения и тестов.
Тут человек, который не знаком с верилогом, но программировал на ассемблере, услышав слово «регистровая передача» может кивнуть «а понятно, это как в MOV R5, R0». Нет, непонятно. Проблема в том, что слово «регистр» в данном случае является омонимом. У слова «регистр» если два (точнее три, но сконцентрируемся на двух) разных значения:
[3. Есть еще memory-mapped registers, хорошо знакомые например программистам микроконтроллеров, но опустим их из этого поста для сохранения фокуса]
Так вот.
Когда вы пишете на верилоге:
always @ (posedge clock)
r
А вот когда вы пишете:
Схема которая строится с помощью так называемого маршрута RTL2GDSII из кода на верилоге, является не абстрактной диаграммой, а случае ASIC design совершенно конкретной электрической схемой, изготавливаемой на фабрике. C металлическими дорожками меди, которые соединяют блоки ASIC library, которые реализуют функции and2, and3, andor, mux, dff (d-flip-flop) итд.
Введение в упражнения с Verilog на FPGA плате в первый день Школы Синтеза Цифровых Схем на ChipEXPO в Сколково в сентябре
Как же научиться RTL?
Группа энтузиастов по подьему образования в России и Украине на уровень 21 века провела в сентябре в Сколково Школу Синтеза Цифровых Схем с упражнениями на FPGA платах. Школа оказалась популярна (на 25 мест было 86 заявок) и мы решили ее расширить до полноценного семестрового курса по субботам, с объемом материала на уровне университетских лабораторных по FPGA (типа MIT 6.111), к которым добавили элементы компьютерной архитектуры, базовый туториал для ASIC и некоторые умения из промышленности.
Школа предназначена для трех категорий слушателей:
Школьники-старшеклассники олимпиадного типа смогут понять, что представляют из себя работы в микроэлектронной промышленности: проектирование чипов для смартфонов, игровых приставок и самоуправляющихся автомобилей, или использование микросхем реконфигурируемой логики для управления космическим кораблем.
Студенты младших курсов смогут заложить твердую основу для дальнейшего изучения схемотехники и архитектуры компьютеров в их вузах.
Преподаватели вузов, физматшкол или кружков технологии смогут найти материал для постановки или улучшения своих курсов.
Школа может также понравиться кросс-дисциплинариям. Вот например участники школы на ChipEXPO распознают с помощью FPGA платы мелодии, которые играет для них преподавательница флейты Мария Беличенко:
План семинаров школы:
30 октября 2021: 1. Введение в маршрут проектирования и упражнения с комбинационной логикой.
13 ноября 2021: 2. Последовательностая логика и конечные автоматы.
20 ноября 2021: 3. Разбор учебного проекта: модульная графичеcкая игра со спрайтами.
27 ноября 2021: 4. Разбор учебного проекта: распознавание и генерация звуков и мелодий.
4 декабря 2021: 5. Конвейеры и систолические массивы, с приложением для искуственного интеллекта.
11 декабря 2021: 6. Архитектура: вид процессора с точки зрения программиста.
18 декабря 2021: 7. Микроархитектура: вид процессора с точки зрения схемотехника.
25 декабря 2021: 8. Пробуем маршрут RTL2GDSII: как разрабатываются массовые микросхемы.
15 января 2022: 9. Элементы микроархитектуры 1: очереди FIFO и кредитные счетчики.
22 января 2022: 10. Элементы микроархитектуры 2: арбитры, банки и разделение памяти.
29 января 2022: 11. Элементы микроархитектуры 3: строим процессорный кэш.
5 февраля 2022: 12. Имитация собеседования на позицию проектировщика цифровых микросхем.
12 февраля 2022: 13. Разбор имитации интервью с вручением поощрительных призов.
Картинка из статьи о Consumer Electronics Show 2022 в Лас-Вегасе на hypebeast.com
Как только сегодня ни называют программистов, особенно в зарубежных СМИ. Да и у нас, в частности, при поиске работы, можно встретить абсолютно разные описания должностных обязанностей.
Меняется ли от этого суть работы? Надо разобраться в том, какую работу подразумевают такие специализации как «Programmer», «Software Engineer» и «Computer Scientist».
Терминология
Изучение сути вопроса логично начать с понимания терминов. Самым понятным является «Programmer», который в Оксфордском словаре определяется как человек, ответственный за написание программы. И с переводом все просто: программист – он и в Африке программист. И даже в России. Сложности начинаются дальше.
«Software Engineer» (SE) (согласно статье в webopedia) — это дипломированный профессиональный инженер, имеющий достаточно знаний и навыков для применения инженерных дисциплин при создании программного обеспечения. Главное отличие — SE занимается разработкой, руководством проектов, а программист их реализует путем написания кода. На русский название должности переводится как «инженер-программист» или просто «программист».
Теперь разберемся с тем, кто такой «Computer Scientist» (CS). Если верить словарю, то речь идет о работе в области теории вычислений и проектирования компьютеров. Разные словари дают разный перевод на русский: «учёный, работающий в области теории вычислительных машин и систем (в области ВТ, в области компьютерных наук)» или «программист».
Итого, имеем три очень разных определения в английском и три «программиста» в русском.
Как сами программисты понимают эту разницу
Западный подход довольно четко разграничивает все три должности. Но у нас часто возникает путаница, и все три понятия используются как взаимозаменяемые. Поэтому лучше обратиться к мнению самих программистов и посмотреть, как они описывают свою деятельность.
Для обеспечения полноценной разработки ПО/кода программист должен быть сконцентрирован на своей работе и обеспечить последующее использование и интеграцию программных компонентов друг с другом. Энтони Щерба (Anthony Scherba), президент и основатель студии разработки Yeti, сравнивает этот процесс с решением сложной алгебраической задачи.
Так, по мнению эксперта, в обязанности программиста входит создание, упрощение, документирование кода и написание тестов. Поскольку он занимается практической реализацией поставленных задач, программист должен разбираться в особенностях языка (языков) программирования, с которыми работает, а также в теории алгоритмов.
Необязательные компетенции: математический анализ, коммуникативные навыки и умение работать в команде — подробнее в блоге Алана Скоркина (Alan Skorkin).
Работа «Software Engineer» подразумевает комплексный подход и иногда ее можно сравнить даже с процессом создания произведения искусства, которое программист старается постоянно усовершенствовать. Так считает и Дэниел Каплан (Daniel Kaplan), опытный программист и сотрудник Pivotal Labs.
Инженер должен видеть всю картину с двух сторон: проект в соответствии с общим планом и отдельные задачи, необходимые для его осуществления. Он должен уметь находить верные комплексные решения, понимать требования клиентов, прогнозировать возможные последствия и распределять задачи по программированию (в команде).
Его работа особенно важна во время разработки новых версий или функциональных возможностей продукта или, например, когда клиент меняет свои требования. Таким образом, инженер-программист отвечает не просто за написание кода, а за весь проект.
«Computer Scientist» — математик и технический специалист в равной степени. Он обладает математическими знаниями и объясняет, как и почему работает тот или иной инструмент, решение или алгоритм. Его работа имеет большое значение для развития программирования в целом. Также CS свойственна специализация в одной или нескольких сферах — ИИ, нейронные сети, теория языков программирования, базы данных.
Представления профессионалов в принципе соотносятся со словарными статьями, что естественно: на то они и профессионалы, чтобы разбираться в своей работе. Сбой в коммуникации и подмена понятий явно происходит на каком-то другом уровне, но на каком?
Какую разницу видят учебные заведения и работодатели
Начнем опять с «программиста». Еще одно его важное отличие от всех остальных: как правило, отучившись в профильном ВУЗе, вчерашний студент становится не просто «программистом», а «инженером/бакалавром/магистром по специальности/направлению…».
Для западной образовательной системы это тоже характерно — взгляните, к примеру, на разнообразие специальностей в направлении «Software Development and Programming» Сиднейского Технологического Университета. Ни одна из них не содержит в своем названии слова «programmer» или «programming».
Нет, конечно, многие университеты предлагают курсы по программированию (даже бесплатные), но редко когда в дипломе написано просто «программист». А что хотят видеть работодатели?
Помимо знания разных языков и/или опыта работы на разных мобильных платформах/ опыта веб-программирования/ администрирования, программисту нельзя обойтись без коммуникативных навыков (примеры тут и тут). В приведенных примерах вакансий требуется навык работы в команде, предполагается общение с вендорами, сотрудничество с другими отделами компании и техническим директором. Ну и организаторские и управленческие способности будут нелишними. А в ряде случаев нужны еще и достаточно глубокие знания математики.
Требования на российском рынке отличаются не сильно и включают разработку проектов, работу в команде, понимание принципов информационной безопасности (и всё те же навыки, отмеченные в абзаце выше). Таким образом, работодатели хотят видеть в программисте универсального (и творчески мыслящего) специалиста, а не просто человека, который пишет и тестирует код на определенном языке, решая кем-то поставленную задачу. Получается, что работодатель (как на Западе, так и у нас) под «программистом» очень часто понимает то, что словари обозначают как минимум как «Software Engineer».
Образовательные программы по профилю «Software Engineering» подразумевают, подход к разработке ПО с научной и инженерной точки зрения, разработку собственных проектов, аналитическую и управленческую деятельность. Помните, в предыдущем разделе эксперты говорили, что SE должен уметь реагировать на изменяющиеся требования? На магистерской программе помимо этого объясняют, как укладываться в бюджет и сроки.
В университете Глазго учат определять технические характеристики, проектировать, создавать и верифицировать крупные программные системы. При этом список предметов включает программирование на разных языках, проектирование баз данных, изучение алгоритмов, то есть все те знания, которые необходимы и для работы «классического программиста».
Что касается точки зрения работодателей, то по их мнению в обязанности инженера-программиста входит написание кода, проверка технической реализации UI/UX, оптимизация работы приложений, разработка внутренней методологии и стандартов, контроль и управление требованиями. Кроме того, соискатель должен обладать лидерскими качествами. Технические требования не сильно отличаются от требований к «обычным» программистам: их примеры можно посмотреть тут: 1, 2 и 3.
Университетские программы по направлению «Computer Science» включают больше математических предметов, изучение теории алгоритмов, а также такие темы как машинное обучение, нейронные сети и облачные вычисления. Студенты изучают больше теории, но должны успешно применять на практике полученные математические знания, выявлять, формулировать и решать инженерные проблемы. Таким образом, у этого типа специалистов формируется наибольшая «широта взглядов» — в теории он может работать и программистом, и SE, и непосредственно по специальности.
Это не означает, что полученных знаний ему «за глаза» хватит для успешного старта карьеры в любой из областей и больше ничему учиться не придется. Например, чтобы построить успешную карьеру разработчика, такому выпускнику явно понадобится «подтянуть» практические навыки по написанию кода — но не придется изучать программирование «с нуля».
Идеальный соискатель на должность «Computer Scientist» должен обладать знаниями по теоретической информатике, теории алгоритмов, проектированию баз данных, компьютерному моделированию, при необходимости выполнять задачи аналитика и проводить исследования, знать весь процесс от проектирования до внедрения ПО… Список можно продолжать долго (подробнее читайте тут и тут).
Работодатели хотят видеть профессионала, который не ограничен применением навыков в сугубо научной сфере. Кстати, русскоязычные работодатели тоже ищут таких специалистов и предлагают свои названия профессии: ведущий алгоритмист и инженер-исследователь. На этих примерах прослеживается та самая специализация, о которой мы упоминали в прошлом разделе.
Что в итоге
Да, действительно программисты, SE и CS — специальности близкие, но не одинаковые, и готовят таких профессионалов на разных университетских специальностях. Наибольшую путаницу в трактовке терминов вносят работодатели – для них, например, разница между «программистом» и Software Engineer может быть совершенно не очевидна.
Судя по требованиям работодателей, от «просто программиста» ждут творческого подхода, универсальных знаний и soft skills, а «computer scientist» может решать важные, но при этом сугубо прикладные, узконаправленные задачи — говорить о том, что одна специальность «по умолчанию» лучше или «сильнее» другой тут не приходится.