Как стать автором
Обновить

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

Время на прочтение2 мин
Количество просмотров388K
Бывает, что человек, совсем не связанный с IT, проникается интригующей красотой этой сферы и ставит себе задачу постепенно освоить программирование с нуля. И тут он зачастую просто теряется, не понимая, с чего начать, и нуждаясь в хорошем фундаменте и системном подходе.

Я, будучи недавно в такой же ситуации, гуглила, искала мануалов на Хабре (кое-что нашла: Десять советов начинающим программистам, Начинающему программисту про стартапы и не только…), но в итоге всё же была вынуждена обратиться за советом к одному хорошему человеку, который составил для меня вот такой план. С разрешения этого человека размещаю данный план на Хабре – вдруг он пригодится и кому-то ещё. (Тем более, что перечисленные книги относятся к «золотому фонду» литературы в данной сфере и проверены временем.)

UPD: Новичкам советую обратить внимание на комментарии — там активно и аргументированно корректируется этот план.

Читать дальше →
Всего голосов 90: ↑58 и ↓32+26
Комментарии106

Нанимайте личность, а не набор навыков. Мои самые важные вопросы в собеседовании

Время на прочтение4 мин
Количество просмотров76K

Привет, Хабр!


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


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


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


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

Читать дальше →
Всего голосов 60: ↑38 и ↓22+16
Комментарии99

Была такая профессия: «Программист»

Время на прочтение3 мин
Количество просмотров3.2K

Введение


Не многие задумываются о том, кто такие программисты. Кажется в современном информационном обществе без них никуда. Но кто же они? Существует несчетное количество стереотипов, много слов написано о том, что это такие же люди, как и все остальные. Предлагаю посмотреть на этот вопрос в свете быстроразвивающейся отрасли информационных технологий.
Читать дальше →
Всего голосов 45: ↑10 и ↓35-25
Комментарии20

Agile умер, да здравствует… Agile

Время на прочтение8 мин
Количество просмотров45K
За последние несколько лет гибкие методологии почти вытеснили традиционные способы разработки – полностью по принципам Agile сейчас работают две трети IT-компаний. Оправдались ли ожидания, какие возникают проблемы и куда всё движется? Предлагаем анализ существующего российского и зарубежного опыта работы по Agile и ответы на эти вопросы.
Читать дальше →
Всего голосов 38: ↑25 и ↓13+12
Комментарии90

Секрет быстрого программирования: не задумывайтесь

Время на прочтение7 мин
Количество просмотров77K

Программировать быстро — это легко! Так считает инженер-программист компании Google, который все публикации в своем блоге подписывает лаконичным «Макс». Макс также работает главным архитектором, комьюнити-менеджером и релиз-менеджером в Bugzilla Project. Мы в Alconost впечатлились и перевели его советы о том, можно ли как научиться программировать с космической скоростью.

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

Они, конечно, правы в том, что в условиях сжатых сроков разработчики, как правило, будут писать сложный код. Впрочем, дедлайны не должны приводить к сложности. Вместо фразы «Этот дедлайн помешал мне написать простой код» можно произнести равноценную: «Я недостаточно быстро программирую, чтобы писать просто». То есть чем быстрее вы как программист — тем меньше влияния на качество вашего кода имеют дедлайны.

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

Нет, это вообще не магия и не врожденный дар. На самом деле существует всего одно простое правило, считаясь с которым, со временем вы полностью решите проблему:
Читать дальше →
Всего голосов 45: ↑34 и ↓11+23
Комментарии47

История успеха, как я ушел из офиса и жизнь закрутилась: программист из Владивостока Максим Богданов

Время на прочтение4 мин
Количество просмотров7.4K
image

Программист из Владивостока Максим Богданов.

По образованию я математик-системный программист. Так сложилось, что на деле я решаю большой спектр задач, связанных с информационными технологиями, — программирование, обучение и консультирование, управление проектом, подбор разработчиков и т.д. Название для такой профессии, на мой взгляд, еще не придумали )
Читать дальше →
Всего голосов 26: ↑6 и ↓20-14
Комментарии6

Сложности самообучения программированию и как их преодолеть

Время на прочтение5 мин
Количество просмотров38K
Перед вами перевод статьи Xiang Zhou, опубликованной на сайте freeCodeCamp. Если вы разработчик-самоучка и хотите преодолеть все преграды на пути к цели, добро пожаловать под кат!


«Белая книга на коричневом деревянном столе», фото Alexander Michl на Unsplash
Всего голосов 16: ↑12 и ↓4+8
Комментарии13

Самый полный русскоязычный перевод Гарвардского курса по программированию CS50 2015, бесплатно на YouTube

Время на прочтение2 мин
Количество просмотров55K
В этой статье я хочу немного рассказать о самом лучшем в мире курсе по программированию.

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

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

image
Всего голосов 19: ↑18 и ↓1+17
Комментарии26

Профессия: программист. Не всё однозначно

Время на прочтение11 мин
Количество просмотров90K
Мы писали о фронтендерах и бэкендерах, о мобильной разработке и о тестировании, но это были частные случаи. Когда человек подходит к первой или очередной профессии, он редко говорит, что станет разработчиком под iOS или проктологом, как правило это звучит «программистом» и «врачом». Специализация приходит позже, с опытом. Но чтобы твёрдо заявить, что ты хочешь стать программистом, врачом, архитектором, геологом и т.д., нужно избавиться от романтизации профессии и подойти к ней здраво и осмысленно. Даже если вы вдруг решили стать программистом, чтобы «войти в айти после 35-ти». Если говорить о программистах с позиций романтики, то это люди, которые превращают наши замыслы в код и делают жизнь лучше, проще, удобнее. Если говорить прямо, то работа программиста — напряжённый, зачастую рутинный труд с множеством плюсов и минусов. Об этом и поговорим.

Читать дальше →
Всего голосов 73: ↑69 и ↓4+65
Комментарии45

Перевод Курса по стартапам и бизнесу от Стэнфордского Университета. Лекция №1. Как начинать стартап

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

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

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


Всего голосов 13: ↑12 и ↓1+11
Комментарии7

Три дороги для программиста: эксперт, руководитель, основатель

Время на прочтение15 мин
Количество просмотров24K

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

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

Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии7

Как вырасти из программиста в менеджеры («А хочу быть владычицей морскою»)

Время на прочтение4 мин
Количество просмотров4.8K

Сороковой выпуск нашего подкаста “В бесконечность и далее”, мы назвали “А хочу быть владычицей морскою” потому что в нём (начиная с 12й минуты) мы говорим о том, что (и как) нужно делать программисту, чтобы стать менеджером, а также задаёмся вопросом нужно ли это вообще делать. Такое название выпуска мы выбрали потому что менеджер и власть иногда синонимы, поэтому мы делаем отсылку к властолюбивой старухе из произведения А.С. Пушкина “Сказка о золотой рыбке”. Также в этом выпуске мы говорим о смене эпохи в индустрии производства специфического видеоконтента (это не то, о чем вы подумали), о Бармаглоте и Русских инородных сказках производства Макса Фрая.


Наше обсуждение темы можно послушать (начиная с 11:15) в Youtube, на Яндекс музыка, в Google подкастах, на устройствах Apple и Android, на нашем сайте, на сайте- хостинге подкаста, в VK и много где ещё. А ниже краткая выжимка-стенограмма из нашего диалога. В самом конце статьи — конкретный (но не исчерпывающий) список шагов, которые следует пройти чтобы стать менеджером.



  • 11:15 Очерчивая предмет дискуссии, мы решаем поговорить о том, каким образом можно из программиста вырасти в менеджеры. Вырасти не из аналитика, тестировщика или коммивояжера, а именно из программиста
  • 13:05 Хотим отметить, что ответ на вопрос «А зачем вообще становиться менеджером?» не настолько очевиден как кажется, ведь
Читать дальше →
Всего голосов 12: ↑6 и ↓60
Комментарии12

Как вырастить из студента инженера-программиста?

Время на прочтение9 мин
Количество просмотров15K
Привет! Меня зовут Денис Довженко, и я уже несколько лет провожу технические собеседования с кандидатами на позиции инженера-программиста C/C++. Если с кандидатами на позиции Senior SW Engineer и выше основной разговор ведётся об опыте работы, то отбор будущих интернов и джуниоров опирается на усвоенные в университете знания и способность решать учебного же уровня задачи. Здесь-то и выясняется, что даже в ведущих технических вузах учат «не тому» и «не так». А подготовку к переходу из состояния «студент» в состояние «инженер» хорошо бы начинать чуть ли не с первых дней обучения.

В статье я расскажу о том, как мы в Санкт-Петербургском Центре Разработок Dell Technologies помогаем студентам готовиться к успешному продвижению по пути инженера-программиста.


Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Комментарии25

Драма из жизни разработчиков. Стоит ли браться за «времени нет, делайте сразу на проде»?

Время на прочтение4 мин
Количество просмотров6.1K

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

Под катом – история из жизни команды разработчиков от руководителя отдела сопровождения бизнес-систем «Инфосистемы Джет», Романа Грибкова.

Поехали
Всего голосов 15: ↑12 и ↓3+9
Комментарии10

Пятьдесят лет на стезе программирования. Часть II. Первые шаги. Учёба в Дзержинке и я еду в Вентспилс-8

Время на прочтение36 мин
Количество просмотров27K
imageПервая часть моего повествования заканчивалась поступлением в Военную орденов Ленина, Октябрьской Революции и Суворова академию им. Ф. Э. Дзержинского (сокращённое название ВА им. Ф. Э. Дзержинского, ВАД или просто Дзержинка). Логотип второй части напоминает мне мои первые шаги на пути программиста. Это, прежде всего, годы учёбы в Дзержинке, куда я поступил на второй факультет, на котором готовили специалистов по автоматизированным системам управления ракетными комплексами. На факультете для курсантов было две профилирующие кафедры. Кафедра №23 готовила военных инженеров по эксплуатации вычислительной техники, а кафедра №25 готовила военных инженеров-программистов. Именно с сентября 1971 года в академии начали готовить военных инженеров-программистов из курсантов. Наш курс состоял из пяти отделений, в трёх из которых готовились военные инженеры по эксплуатации вычислительной техники, а в двух отделениях готовились будущие военные инженеры-программисты. Я проходил обучение в отделениях программистов. Почему во множественном числе? Просто обучение я начинал в отделении А, а затем меня перевели в отделение В. Поэтому оба отделения для меня стали родными. Именно эмблема кафедры №25 и находится в центре логотипа статьи. С одной стороны, с эмблемой всё понятно, а с другой стороны, сегодня она требует некоторого пояснения. Символы «к. 25» — ясно, что это кафедра №25. Символы «МО» являются аббревиатурой от словосочетания «Математическое Обеспечение». В те далёкие времена было принято говорить не программное обеспечение ЭВМ, а именно математическое обеспечение ЭВМ. Ну и последнее, символы «МО» располагаются поверх одного из основных носителей (наряду с перфокартами) программ и вообще данных – перфоленты. Сегодня трудно представить, что и программы и исходные данные для них готовились не в файлах на каком-нибудь носителе (диски, флешки и т.д.), а готовились на бумажном носителе, будь то перфолента или перфокарта
Читать дальше →
Всего голосов 60: ↑54 и ↓6+48
Комментарии71

5 причин, почему не стоит становиться программистом

Время на прочтение4 мин
Количество просмотров22K

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

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

Чтобы быть ясным, я не утверждаю, что какой-то другая карьера лучше.

Итак, рискну вызвать изрядную ненависть, приступлю.

Читать далее
Всего голосов 62: ↑24 и ↓38-14
Комментарии79

«Чтобы это разработать, нужна степень PhD»

Время на прочтение6 мин
Количество просмотров21K

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

В свете недавних событий, связанных с производительностью терминала Windows [см. https://github.com/microsoft/terminal/issues/10362], я решил, что стоит немного порассуждать на эту тему, поскольку она раскрывает некоторые проблемы, мучающие отрасль разработки ПО. 

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

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

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

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

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

Читать дальше
Всего голосов 26: ↑21 и ↓5+16
Комментарии23

Предпринимаем в ERP (о деньгах и совести)

Время на прочтение5 мин
Количество просмотров6.3K

«Деньги не главное…»

 С такой мыслью закинутый случайным течением начинаешь работать аналитиком / консультантом / программистом ERP-систем (MS Dynamics AX, D 365 FO, 1С ERP, SAP и др.).

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

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

Читать далее
Всего голосов 16: ↑13 и ↓3+10
Комментарии21

Jameson и Macallan (история о двух программистах)

Время на прочтение3 мин
Количество просмотров6K

Работали два программиста с опытом 3-5 лет (MS Dynamics AX, D 365 FO, 1С ERP, SAP). Оба были относительно хорошими программистами, честными и ответственными людьми со своими тараканами и установками. Оба к чему-то стремились, хотели, чтобы их ценили. Каждый по-своему. Оба развивались, читали книги и статьи, слушали различные тренинги и умных людей, задумывались о будущем. Оба знали про биржу, инвестиции, пассивный доход, финансовую подушку, бизнесы и прочее из этой серии.

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

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

Читать далее
Всего голосов 16: ↑9 и ↓7+2
Комментарии35

Как понять, что перед вами плохой разработчик

Время на прочтение12 мин
Количество просмотров178K

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

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

Читать далее
Всего голосов 301: ↑197 и ↓104+93
Комментарии402