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

Содержание

image

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

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

А те, кто уже работают в IT — возможно проведут параллели со своим путем.

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

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

Какой язык программирования учить в 2023 году?

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

О себе

Я не Джон Кармак, Николай Дуров или Ричард Мэттью Столлман. Я не работал в таких компаниях как Yandex, ВКонтакте или Mail.ru.

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

Кто я сегодня, как разработчик
— Участвовал в более 70 коммерческих проектах, многие из которых писал с нуля
— В десятке собственных проектов: open-source, стартапы
— 12 лет в IT. 17 лет назад — написал первую программу
— Microsoft Most Valuable Professional 2016
— Microsoft Certified Professional
— Certified Scrum Master
— На хорошем уровне владею C#/C++/Java/Python/JS
— Основное место работы сегодня — фриланс-биржа Upwork. Через нее работаю на компанию, которая занимается NLP/AI/ML. Имеет базу в 1 миллион пользователей
— Выпустил 3 приложения в AppStore и GooglePlay
— Готовлюсь основать собственную IT-компанию, вокруг проекта, который сейчас разрабатываю

Читайте также:
Как удалить программу р

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

Вот пожалуй все обо мне, что касается темы книги. Далее — моя история.

История. Начало

Впервые я узнал, что такое ЭВМ, когда мне было 7 лет. Я только пошел в первый класс и на уроке изобразительного искусства нам дали домашнее задание сделать ЭВМ из картона, поролона и фломастеров. Разумеется мне помогали родители. Мама в начале 80-ых годов училась в техническом ВУЗе и не по наслышке знала, что такое ЭВМ. За курс обучения, она даже успела попробивать перфокарты и позагружать их в гигантскую советскую машину, которая занимала львиную долю учебной комнаты.

Как стать программистом с нуля

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

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

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

1

Советский компьютер «Поиск» и периферия: телевизор «Электрон», магнитофон «Вега» и аудиокассета с языком BASIC

Тест: А ты точно программист?

Тест: А ты точно программист?

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

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

Вы должны закончить следующие тесты, чтобы начать этот:

Результаты

Правильных ответов: 0 из 12

Вы набрали 0 из 0 баллов ( 0 )

Рубрики

  1. Нет рубрики 0%

Настоящий программист!

У тебя точно есть опыт в разработке. Либо ты знаешь, как смотреть код HTML-элементов на странице и только что лишил себя возможности по-настоящему проверить себя.

Джун

Да, ты программист, но пока что только начинающий.

Рисователь блок-схем

Пока что о программировании ты знаешь мало. И только в теории, скорее всего.

Гуманитарий

Ты почти ничего не знаешь о программировании.

  1. С ответом
  2. С отметкой о просмотре

Задание 1 из 12

1 .

Начнём с простого. Какую первую программу обычно пишут программисты?

  • Hello world
  • Сортировку «пузырьком»
  • Для взлома аккаунта «ВКонтакте». Такая программа есть у каждого программиста
Читайте также:
В чем назначение программы gns3

Да, конечно. Это все знают.

Неправильно

Обычно всё же начинают с вывода на экран «Hello world». А программ для взлома Вконтакте не существует.

Задание 2 из 12

2 .

Бывает ли так, что программа скомпилировалась с первого раза и без ошибок?

  • Да, конечно
  • Нет, это фантастика

Правильно. Не бывает такого.

Неправильно

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

Задание 3 из 12

3 .

Представим гипотетическую ситуацию, в которой программа всё-таки скомпилировалась с первого раза. Как ты поступишь?

  • Выключу комп и спокойно пойду спать — дело сделано
  • Порадуюсь за себя и продолжу писать код
  • Буду искать ошибку в компиляторе, где-то она должна быть

Правильно. Совсем без ошибок не бывает.

Неправильно

Тебя предыдущий вопрос ничему не научил? Ошибка все равно должна быть, так что радоваться рано.

Задание 4 из 12

4 .

Движемся дальше. Вопрос на проверку логического мышления. Допустим, вы пишете проект, и заказчик утвердил документ, в котором чётко написано, что он хочет получить в результате. Назовём его ТЗ. Изменятся ли требования в процессе работы над проектом?

  • Изменятся, конечно
  • Не изменятся. Вы же сами сказали, что всё чётко зафиксировано

Обычно так и бывает, да. Заказчик сам не знает, чего хочет.

Неправильно

Ты в сказке живешь? Не бывает так.

Задание 5 из 12

5 .

Какой правильный ответ на вопрос про рекурсию?

  • Да
  • Какой правильный ответ на вопрос про рекурсию?

Какой правильный ответ на вопрос про рекурсию?

Неправильно

У тебя ошибка типов. Перечитай вопрос.

Задание 6 из 12

6 .

Представь, что вы пишешь программу и при попытке её сборки компилятор выдал одну ошибку. Ты исправил её и пробуешь собрать проект ещё раз. Сколько теперь будет ошибок?

  • Была одна, теперь ошибок не будет
  • Неизвестно

Правильно. Кто знает, может, ты ошибся, исправляя этот баг?

Неправильно

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

Задание 7 из 12

7 .

Ты пришел на проект, над которым раньше работал другой программист. Что можно сказать о его коде?

  • Надо сначала детально изучить проект, чтобы понять это
  • Его код просто ужасен, ну кто так пишет!

Истинно так! Как может быть хорошим код другого программиста, в котором тебе надо разобраться?

Неправильно

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

Задание 8 из 12

8 .

Перед тобой три дерева. На том, что посередине, сидит кот. На дереве с каким индексом сидит кот?

Да. Деревья 0, 1, 2. Кот на среднем, правильно.

Неправильно
Задание 9 из 12

9 .

Теперь чуть сложнее. Что такое Пик Балмера?

  • Гора в Северной Америке
  • Феномен: при определённой концентрации алкоголя в крови программистские способности резко возрастают
  • Яхта Стива Балмера — бывшего генерального директора Microsoft

Неправильно
Задание 10 из 12

10 .

Что такое стринги?

  • Разновидность мини-трусиков
  • «Верёвки» на английском
  • Несколько переменных типа «строка»

Да, правильно. Вот они: string s1, string s2.

Неправильно

В принципе, конечно, да. Но нет. Тест же про программистов.

Читайте также:
Программа виды грамматических разборов

Задание 11 из 12

11 .

Какое максимальное число из перечисленных можно показать пальцами одной руки?

Верно! В двоичной системе счисления 11111 будет 31 в десятичной. Это если все пальцы разогнуть.

Неправильно

Используй двоичную систему счисления — загнутый палец будет ноль, разогнутый — один.
А что касается “32”, то ход мыслей у тебя правильный, скорее всего, но вот 11111bin = 31dec.

Задание 12 из 12

12 .

Буратино дали три яблока. Два он съел. Сколько яблок осталось у Буратино?

  • Одно
  • У него не осталось яблок
  • Никто не знает наверняка

Правильно. Переменную забыл обнулить. Мало ли сколько у него было яблок изначально.

Неправильно

А вот и нет! Ты же не знаешь, сколько яблок у него было изначально. Мораль — обнуляй переменные.
А насчет ответа “У него не осталось яблок”, то даже если считать, что изначально у него не было яблок, всё равно 3-2=1. У тебя всё в порядке с математикой?

Источник: zavistnik.com

Тест: а вы точно программист?

Обложка: Тест: а вы точно программист?

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

Осталось: 02:00

Ссылка на резюме

Для отправки формы требуется ваше согласие

Я соглашаюсь на передачу персональных данных согласно политике конфиденциальности и пользовательскому соглашению

Готово! Ваши ответы зафиксированы и успешно переданы команде SM Lab.
Мы свяжемся с вами в течение трёх дней.

Начать тест
Пропустить вопрос Ответить
Следите за новыми постами по любимым темам
Подпишитесь на интересующие вас теги, чтобы следить за новыми постами и быть в курсе событий.
Поделиться
Реклама на Tproger: найдем для вас разработчиков нужного стека и уровня.
Курс «Основы программирования на Python»
Старт 3 июля, 2 месяца, онлайн, от 6664 до 19 990 ₽ в месяц
Курс «SQL-Injection Master»

Старт 10 июля, 3 месяца, онлайн, от 11 997 до 35 990 ₽ в месяц

Что думаете?

Комментирую от имени компании
Показать все комментарии
Фотография
Обсуждают сейчас
к dev-mode в комплекте идёт плагин для vscode, могли бы про это написать подробнее в посте.
Figma добавила Dev Mode для веб-разработчиков

3 часа назад

А законы TDD правильно описаны? 1. «Мы не выпускаем в прод код, который не покрыт тестами» — вроде как тут дело не о выпуске в прод, а в целом о написании кода. Сначала тест, потом к нему код. 3. «Написал код — написал тесты. Или в обратном порядке.» — это, кажется, вообще противоречит TDD.

Если смотреть в Чистом коде Мартина, то 3й закон там звучит примерно так: не писать код больше, чем это необходимо для текущего теста.

Как написать чистый код и сделать жизнь проще
4 часа назад

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

Декораторы в Python: понять и полюбить
10 часов назад

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

Источник: tproger.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru