8 признаков плохого программиста


Содержание

8 признаков плохого программиста – как выявить непрофессионала

13.03.2020, 00:19 272 Просмотров

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

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

  • Знать и уметь писать на том языке, на котором работает ваш сайт. У него должны быть качественные примеры работ в публичном доступе; сайты, по которым можно «погулять».
  • Уметь работать с серверами, разными админками, СУБД.
  • Уметь объяснить, почему он работает на одних платформах и не пользуется другими. При этом он может все объяснить простым языком.
  • Знать тенденции рынка, следить за обновлениями популярных сервисов, совершенствовать свои навыки.
  • Уметь объяснить, из чего состоит цена его работы, и что именно он будет делать. Без ознакомления с ТЗ и хотя бы минимального общения это невозможно.
  • Уметь определять требуемое количество времени и не затягивать.
  • Уметь оптимизировать работу, использовать чужие публичные наработки, искать готовые решения. И при этом писать максимально лаконичный код без лишних дублей и излишней «ветвистости».
  • Уметь самостоятельно находить ошибки в коде и исправлять их.

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

Поделиться «8 признаков плохого программиста – как выявить непрофессионала»

Очень плохой программист

. один HelloWorld/сутки. Такие признаки?

too long to read

много букв, ниасилил

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

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

принято. а ЯП важен?

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

А если программа работает, но в ней каждом шагу используется GOTO, невнятные названия переменных типа «jdfix», полностью отсутствует комментарии и форматирование текста, методы цепляют данные изо всей программы и программа выдаёт ужасные ошибки и крашится при попытке сделать что-то не так — то можно ли сказать, что её написал хороший программист?

А статью писал вовсе не программист а графоман.
не программист

А откуда не-программист всё это знает?

Сий текст явно писал не программист.

то можно ли сказать, что её написал хороший программист?

Я ничего не говорил про хорошего программиста. Я говорил про нормального.

А откуда не-программист всё это знает?

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

Нет конечно. Я же говорю — программы работают? Значит всё хорошо.

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

Хронических неосиляторов нужно гнать сцаными тряпками из ITшки. Развелось куча кодеров-быдлянчиков с ЧСВ овер 9k.

А если программа работает, но в ней каждом шагу используется GOTO, невнятные названия переменных типа «jdfix», полностью отсутствует комментарии и форматирование текста, методы цепляют данные изо всей программы и программа выдаёт ужасные ошибки и крашится при попытке сделать что-то не так — то можно ли сказать, что её написал хороший программист?

хороший — нет, но если она работает и дает предсказуемый результат и написано в сроки которые поставлены «с верху» — можно ли его назвать плохим программистом? и кто его назовет так? начальство довольно

Ты какую выбрал?

Каждый, для которого программирование — основная специальность.


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

Не осилю хацкель — самозабанюсь и пойду на площадь ботинки чистить.

Вот, а многие спрашивают — зачем нужен Хаскель? Большую пользу он приносит современному обществу.

если она работает и дает предсказуемый результат

Дает предсказуемый результат на некотором временном отрезке наблюдений. Если наблюдать чуть дольше — возможно заказчик будет доволен только первую неделю после внедрения.

Одного предсказуемого результата маловато. Если потребуются изменения (в некоторых бизнесах это часто случается), насколько легко адаптировать/оптимизировать? Расходы на поддержку придется учитывать.

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

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

Важный вопрос — как долго оно будет довольно.

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

Это плохое начальство. Так что приходим к выводу что плохие программисты устраивают только плохое начальство. Гармония.

Хотя статья по содержанию так себе

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

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

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

Да, возможный вариант. Когда программист в одном экземпляре.

Теперь ряд предположений. Если программистов много, они объединены в отдел, у отдела есть глава, этот глава подчиняется техдиру. В этом случае намного труднее быть «плохим». Работник (он же специалист по предметной области) жалуется менеджеру (тот тоже в теме), менеджер жалуется техдиру, глава отдела программирования разбирается с конкретным программистом. В таких условиях трудно быть плохим.

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

техдир подчиняется начальству которое «не понимает»

Да, такое часто встречается.

техдир может быть плохим и прикрывать плохих программистов

Может быть плохим. Таких увольняют экстренно или на собраниях правления компании. Я с таким сталкивался — человека уволили, когда выяснилось что он скрывал воровство подчиненных.

в глазах «начальства» опять же все отлично

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

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

как найдут? кто судьи?

Таких увольняют экстренно или на собраниях правления компании.

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

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

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


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

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

учитывая что переписывать никто не будет с нуля в 99.9% случаев (редко такое встретишь), то и время изготовления замерить будет сложно и цифра «в 2 раза быстрее» не появится, ну а если еще взять понимание того, что написание второго раза с нуля при большем понимании области дает более быстрый результат то и вообще не понятно как это измерить.

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

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

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

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

а платят всегда дяди кто не шарит

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

Да ерунда это всё.
Фичи, время, плохой, хороший.
Это всё (в первую очередь это относится к автору статьи из начального сообщения) от ЧСВ.
Такой образ мыслей не приводит ни к чему конструктивному:
О-о-о-о! Я знаю 36,5 паттернов! А ты, гнида волосатая, не знаешь даже что такое «капсулирующий дельта-класс». Лошара!

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

Вот и ты туда же лезешь. Почему в 2 раза? Может в пи раз? Или в е раз? Видишь, взял от фонаря цифру и тащишься какой ты молодец. Ребячество.

Сами слова может и ерунда. А вот затраты времени на разработку — не ерунда. Как ты будешь руководству объяснять, что добавление элементарной фичи заняло 2 недели, потому что изначальный код писал индус и оно валится от малейших изменений?

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

смотри, вот тебе дали какой то проект X, ты смотришь на него и говоришь «жесть, говно, писали плохие люди», начальство тебя спрашивает, «что делать?» — ты отвечаешь «переписывать с нуля», они спрашивают «сколько времени это займет?», ты говоришь «около полугода», они «и нахрена?», ты «внесение новых изменений функциональности будет занимать в 5 раз меньше времени», они «ты сможешь это гарантировать? как будем измерять? ведь каждое изменение по своей сути уникально?»

Можно. Если увольняют (а это именно так), значит можно.

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

Не-не-не, я про «переписать с нуля» в шутку сказал. Такое работает только с маленькими проектами. Обычно достаточно объяснить начальству, почему нужно потратить много времени на прибивание скотчем нового функционала, и почему надо ещё потратить время на рефакторинг.

Да так и скажу: писалось индусами. Что тут выдумывать-то?
Да и как вся это всевдоЫлитарная пузомерялка поможет?
О чём вообще разговор?
О том какие мы тут все молодцы и какие вон те люди дураки?
Где цель, мораль, смысл наконец?

Да ну вас. Пойду код писать.

Понятия не имею. Я говорил про качество код, а ты прицепился к цифре «2». Наверное, похожая на эту цифру собака в детстве покусала :)

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

в реальности обосновать это практически невозможно, ибо конца и края рефакторинга обычно нет, можно бесконечно играть в code golf, многие этим даже пользуются во зло, перекатывая код туда сюда, функционал же не меняется, поэтому критерии расплывчаты КПД такого разработчика

Цукерберг рекомендует:  Вакансии Bandsfinder

У теяб припекло от goto?

конца и края рефакторинга обычно нет

Есть «отрефакторить всё» и «отрефакторить настолько, чтобы конкретная фича влезла без проблем». А вообще зависит от длительности проекта. Если он дан на один раз, то нет смысла много переписывать и рефакторить — ты не оценишь профита. А если он на годы вперёд, то рано или поздно рефакторить придётся, и чем раньше тем проще будет.

тот кто увольняет до конца не знает, правильно ли он делает,

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

Я смотрю в треде много «правильных». Итак, по правилам, программист не архитектор. Вопрос, какого хера тут все так просто, ведь через месяц у нас будет масштабирование, а программа так проста, что не масштабируется, относится к архитектору. Программист здесь причем? Если архитектор любит нихера не делать и дал комманду программисту «решай сам» без указания планов на будушее. Кто берет роль архитектора, тех дир или его помощник или «у нас все архитекторы» признак стократного ССЗБ. Плох тот программист, который решил поиграть в архитектора без предъявления претензий по ЗП и взятию ответственности за принятие решений. Если молча принял, сделал и готов все исправить в случае ошибки — хороший программист. Отсутствие входных данных о планах на будущее делает любого эксперта идиотом и плохим програмистом.

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

Нет совести, кругом ложь (заказчику: наша всеми уважаемая компания решает за день любые задачи, ЛЮБЫЕ) и кругом только виноватые.


8 признаков плохого программиста

У вас когда-нибудь возникало чувство, что вы плохой специалист? У Алисии Лю, старшего инженера-программиста в Lift Worldwide, такое случалось. В своей статье на Medium она говорит, что во всем виноват синдром самозванца. Пост пятницы — нелегкая история женщины, которая просто хотела быть великим программистом.

Как я перестала бояться и полюбила программирование

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

Я все делала правильно, но не считала себя хорошим программистом.

Внутри меня — совсем другая история. Мне повезло попасть в университет — у меня был хороший средний балл, потому что у нас не было сложных сортировочных классов и хардкорных CS-курсов. Я получила работу, потому что на собеседовании были такие вопросы, на которые я могла ответить. Я преуспела в учебных и рабочих проектах, потому что мне помогали друзья — хорошие программисты.

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

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

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

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

Хорошие программисты знали много, а я — мало. Я просто не понимала, как кем-то могу стать с такими качествами.

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

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

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

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

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

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

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

Два года назад я вернулась в программирование. Оказывается, в нем я лучше, чем в маркетинге. Я взялась за IOS, Ruby On Rails и отправилась на передовую фронтэнда. Обучение, практика и поддержка друзей и коллег позволили мне считать, что на самом деле я могу хорошо с этим справляться.

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

15 признаков хорошего программиста: практические советы

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

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

А если вы сами – программист, попробуйте оценить себя: насколько вы соответствуете перечисленным качествам? Ведь советами Рамптона уже сейчас на Западе пользуется много HR-специалистов и бизнесменов.

1. Технические навыки

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

Чтобы узнать, насколько сильны технические навыки специалиста, ему можно задать вопрос: «Какой у вас опыт разработок на различных языках программирования?».

2. Мотивация к обучению

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

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


3. Навыки отладки

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

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

4. Умение приспосабливаться к обстановке

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

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

5. Умение решать проблемы

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

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

6. Хобби и интересы

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

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

7. Стрессоустойчивость

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

Для того чтобы узнать, сможет ли специалист справиться со стрессом, можно поинтересоваться: «Как вы поступите, если у вас жесткие сроки, а приложение не работает?».

8. Умение общаться

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

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

9. Лень

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

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

10. Понимание бизнес-процессов и другие знания

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

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

11. Навык планирования

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

На собеседовании можно спросить специалиста о том, с чего он начинает работу и как вообще происходит рабочий процесс.

12. Навык преодоления трудностей

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

Цукерберг рекомендует:  Web - Прошу в помощ веб программиста

Узнать, обладает ли специалист этим навыком, можно задав вопрос: «Приходилось ли вам тратить несколько часов на изучение кода и его отладку?».


13. Навык командной работы

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

14. Поиск новых решений

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

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

15. Соблюдение сроков

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

Кроме того, если руководитель не очень хорошо ориентируется в программировании, то чтобы найти хорошего сотрудника, следует пригласить на собеседования помощника, разбирающегося в данном вопросе. Также очень удобно проводить отбор кандидатов на работу в два этапа: сначала – практическое тестирование (кандидаты удаленно выполняют или не выполняют практические задания от ведущего программиста), а потом – собеседование, где уже руководитель или HR-специалист будет оценить личностные данные. Этот метод очень популярен в США и Европе, и все чаще используется в нашей стране.

8 признаков плохого программиста

У вас когда-нибудь возникало чувство, что вы плохой специалист? У Алисии Лю, старшего инженера-программиста в Lift Worldwide, такое случалось. В своей статье на Medium она говорит, что во всем виноват синдром самозванца. Пост пятницы — нелегкая история женщины, которая просто хотела быть великим программистом.

Как я перестала бояться и полюбила программирование

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

Я все делала правильно, но не считала себя хорошим программистом.

Внутри меня — совсем другая история. Мне повезло попасть в университет — у меня был хороший средний балл, потому что у нас не было сложных сортировочных классов и хардкорных CS-курсов. Я получила работу, потому что на собеседовании были такие вопросы, на которые я могла ответить. Я преуспела в учебных и рабочих проектах, потому что мне помогали друзья — хорошие программисты.

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

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

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

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

Хорошие программисты знали много, а я — мало. Я просто не понимала, как кем-то могу стать с такими качествами.

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

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

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

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

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

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

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

Два года назад я вернулась в программирование. Оказывается, в нем я лучше, чем в маркетинге. Я взялась за IOS, Ruby On Rails и отправилась на передовую фронтэнда. Обучение, практика и поддержка друзей и коллег позволили мне считать, что на самом деле я могу хорошо с этим справляться.

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

Чем отличается хороший программист от плохого?

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

Вообще, есть несколько законов Мерфи, относящиеся к сфере программирования.
1. Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Фредерик Брукс-младший.
2. Как только проект окончательно принят, он становится устаревшим в смысле своих концепций.
3. Любая программа, которая успешно прошла тестирование, устарела.
4. Если что-то у Вас получилось кривовато, назовите это бета-версией.
5. Не позволяйте компьютеру догадаться, что вы спешите.
6. Когда кажется, что все уже работает, все объединено в систему — вам еще осталось работы на четыре месяца.
Чарльз Портман , ICL.
7. Ошибка? Это не ошибка, это системная функция.
Т. Джон Уэнделл.
8. Указание начинающему программисту. Если вы с первого раза сумели написать программу, в которой транслятор не обнаружил ни одной ошибки, сообщите об этом системному программисту. Он исправит ошибки в трансляторе.
9. Совет начинающему программисту. Никогда не исправляйте найденные ошибки, ибо это повлечет за собой появление неизвестного числа ненайденных. Лучше опишите их в сопроводительной документации как особенность программы.
10. Свойство четности ошибок. Если написанная программа сработала правильно, то это значит, что во время ее работы выполнилось четное число ошибок или программист не понял задание.
11. Языковый редактор, призванный уберечь программиста от синтаксических ошибок, позволяет вносить в программу весьма хитроумные ошибки, которые не удается обнаружить ни транслятором, ни отладчиком. Обычный текстовый редактор таких возможностей не предоставляет.


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

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

Ярчайший пример мы можем увидеть в фильме «Муха», 1986 год.
Помните, что произошло с главным героем фильма?
Когда муха залетела в кабинку телепорта, то компьютер объединил ДНК ученого и мухи, так как в программное обеспечение не было заложена функция, что должен делать компьютер, в случае, если в кабинке окажется более чем одно существо и компьютер принял решение их объединить.
На основании этого, я могу сделать вывод, что главный герой фильма – плохой программист, так как он не предусмотрел такую вероятность.
Таким образом, хороший программист – это человек, который умеет предусматривать все возможные вероятности и сценарии и разрабатывать программный код с учетом этих вероятностей.

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

Почему плохо быть программистом

Тема в разделе «Таверна», создана пользователем sigmon123, 02 Sep 2014 в 20:30 .

Оценить пост #

ReoBrass

Что в твоей понимании означает «Программист»?

o_HET

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

zilibob#1337

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

FiveFive

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

ReoBrass

Говорят, говорят.. Кто говорит? Сис. админы — это просто бездна, сисадминов много , как говна. И копейки зарабатывают.

Folker

zilibob#1337

найди мне грузчика, который получает 50-60к =D в месяц, если ему нужно будет чуть ли не убивать себя, а программисту буквально сидеть на стуле

FiveFive

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

R4nd0m

ReoBrass

Которые с многолетним стажем — это круто, конечно, но сисадмины — студентики, нафиг ни кому не приснились

zilibob#1337

да вот хрен знает, нас всего то 20 человек пошло, причем не все еще и будут, мб кто-то проектировщиком будет. Лично у нас в республике нужны хорошие сисадмины. Знакомых забрали просто с охоткой и платят им по 100-110к

ReoBrass

Ну , если в республике, то может и норма там, я говорил о центре страны, Москва та же , допустим. Там они не так ценятся.

Сферический Кот


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

vinog911

В этом году перешел в другой универ (4 курс веб программирование) ,сегодня был первый день. Уже сходил в бар и выпил пиво с новыми однокурсниками.О каких сложностях в новых знакомствах ты говоришь?

Legatus Legionis

У сисадминов есть огромное преимущество: они не привязаны к 1 компании. Хороший сисадмин следит сразу за несколькими офисами (которых в Москве появляется больше, чем сисадминов) и зарабатывает деньги, 1 раз нормально настроив сеть.

eLRey

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

Цукерберг рекомендует:  Шаблоны CSS3 для кнопок

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

спс, теперь пойду на программиста

6 причин не быть программистом

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

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

1. Вы не любите творчество

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

2. Вы работаете из-под палки

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

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

3. Вы не любите решать головоломки

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

4. Вы не можете сидеть долго на одном месте

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

5. Вы цените нормированный рабочий день

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

6. Вы хотите быстро разбогатеть

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

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

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

Ну что, ещё не передумали идти в программисты?

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

Когда вы приглашаете программиста для собеседования и выполнения тестового задания, это может оказаться интересным опытом и для вас, и для него. Большинство собеседований заканчивается тем, что менеджер по подбору персонала обещает «оставаться на связи», но иногда соискатель просто попадает в точку. В такие моменты вы обдумываете, не нанять ли его еще до того, как он успеет покинуть здание. Мы в Alconost Translations перевели для вас статью шароварщика Брайана Келли именно о таких удачных случаях.


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

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

1. Он предлагает несколько решений

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

2. Он пишет полную документацию

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

3. Он совершенствует задание

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

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

4. Он рефакторит с умом

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

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

5. Все остальные признаки — в его пользу

Бывает, что нужного соискателя выдает множество нетехнических признаков. Другие члены вашей команды отводят вас в сторону со словами «Мы должны нанять эту девушку». Личность соискателя выглядит исключительно подходящей для команды. У него релевантный и свежий опыт в том, чем ему придется заниматься. Вы знаете нескольких людей, которые работали с ним и считают, что он — чудесное дополнение к команде (и сами наняли бы его снова без колебаний). Соискатель в восторге от компании и возможностей, и ему не терпится начать работу.

Если соискатель признан технически годным и все остальные признаки — в его пользу, зачем ждать? Затягивая с решением, вы можете упустить соискателя, которого подберет другой работодатель, умеющий распознавать все те же признаки быстрее, чем вы. Лучше будьте решительней и вручайте джоб оффер быстро, таким образом давая соискателю понять, как сильно компания хочет его заполучить. Это поможет начать отношения с ним с правильной для обеих сторон отправной точки.

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

Способности, склонности и странности программистов

13 сентября, на 256 день года, в России празднуется День программиста – профессиональный праздник тех, кто зарабатывает на жизнь написанием программ для компьютеров. Официально этот праздник был утвержден в России только в 2009 году. Однако во всем мире День программиста отмечают уже давно. Празднуется он 13 сентября, а если год високосный – то 12 сентября. 256 (два в восьмой степени) день был выбран потому, что это количество целых чисел, которое можно выразить с помощью восьмиразрядного байта.

Несмотря на то, что этот праздник появился относительно недавно, профессия программиста, как ни странно, гораздо старше. А убежденные в том, что программист – это исключительно мужская профессия, вынуждены столкнуться с еще одним противоречием. Дело в том, что именно женщина считается первым в истории человеком с такой профессией. Ее имя Ада Августа Байрон Кинг, графиня Лавлейс. В первой половине XIX века дочка великого английского поэта Джорджа Байрона написала первую в мире программу для аналитической машины. Эта программа решала уравнение Бернулли, выражающее закон сохранения энергии движущейся жидкости. Правда, ни одна из написанных Адой Лавлейс программ так и не была никогда запущена. Но среди программистов имя ее увековечено – универсальный язык программирования называется «Ада».

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

Учитывая личные качества, каждого программиста можно отнести к одной из четырех групп: выполняют работу быстро и хорошо; быстро и плохо; медленно и хорошо; медленно и плохо. Программисты из первой группы быстро достигают высот и становятся руководителями, а программисты из последней – чаще всего не вырастают выше стажера. Самая распространенная группа программистов – вторая. Но качественнее всего делают свою работу программисты третьей группы.

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

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

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

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

Для того чтобы хоть немного понять, как мыслит человек, разбирающийся в нюансах компьютерного дела, можно прочитать несколько известных афоризмов программистов: «О том, над чем мы работаем сегодня, другие подумают только завтра»; «Помните: 60 кг нераспечатанных листиков сберегают одно дерево»; «Мозг человека обычно загружен лишь на 10% своей мощности; остальное – резерв для операционной системы»; «Пользователь не узнает, чего он хочет, пока не увидит то, что он получил»; «Не говори «OK», пока не перепишешь»; «Старый глюк лучше новых двух»; «Софт пишут – диски летят».

Благодаря своему необычному мышлению и поведению программисты уже давно стали объектами множества шуток и анекдотов. Шутить любят над их чутким отношением к «железу», оторванностью от жизни, неудачами в отношениях с противоположным полом и т.д. Вот несколько примеров:

Жена сисадмина спрашивает мужа:
– Почему ты никогда не рассказываешь, как у тебя дела на работе?
– Да чего тебе рассказывать? Вот, вчера блок питания сгорел.
– Бедненький! Ну ты хоть с собой бутерброды бери.

Объявление: «Серьезная организация возьмет на высокооплачиваемую должность опытного хакера. Резюме просим размещать на главной странице сайта www.microsoft.com».

Едут два программиста на троллейбусе, доезжают до конечной. Водитель открывает переднюю дверь и начинает проверять билеты. Первый программист:
– Первый раз слышу, что драйвер может работать контроллером!

Материал подготовлен на основе информации открытых источников

Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих