Хабрахабр

День защиты детей от плохого кода

Любые совпадения – не совпадения. Пост посвящен дню защиты детей.

С тех пор я придумываю себе задачки — автоматизировать дела, собрать какой-нибудь веб-сервис для трёх человек или написать игру, которую потом удалят из плеймаркета от старости. В 10 лет у меня появились первый компьютер и диск с Visual Studio 6. И в 10 лет я бы точно не отказался получить из будущего архив со всеми косяками — чтобы никогда их не допускать. Конечно, я терял исходники и писал код, который стыдно показывать людям.

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

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

Сергей, младший программист

Детство

Какое самое веселое занятие в программистском детстве, когда ещё нет интернета?

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

Сносишь Windows, 10 часов ставишь Windows обратно. Ты берёшь, пробуешь, переставляешь блоки местами, экспериментируешь и дотягиваешься до всего, до чего можно дотянуться. Разбираешься, как устроен DOS. Пытаешься вернуть драйверы. Крутишь софт, крутишь железо, разбираешь и собираешь компьютер. Разбираешься, как должны стоять перемычки, чтобы твой хард завелся в компьютере у друга (там 200 мегабайт новых игр!). Пишешь футбольный симулятор 13 лет, в конце концов.

Когда нет ничего, становишься счастливым и от такого.

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

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

Тут тоже кругозор имеет значение. И не рекомендую зацикливаться на одном направлении в IT.

Анна, старший системный аналитик

Средняя школа

Текст объявления был таким: В какой-то момент на форуме уездного города П обсуждали программирование — и там появился тред с заголовком «В крупную компанию ищутся программисты PHP».

В крупную компанию ищутся программисты PHP: Для того, чтобы понять, стоит ли вам приходить на собеседование, выполните несложное задание: напишите программу на php, которая находит такие целые положительные числа x, y и z, чтобы x^5+y^5=z^5. (^ - степень). Отвечать можете здесь.

Со всей своей шестнадцатилетней наивностью я ответил: В этом треде отписались всего несколько человек — там был и я.

Реально чет странное. Да и комп нужен неслабый, штоб ето найти...
Ибо от x,y,z <=1000 таких чисел нет-эт во первых (сел набросал в vb, большего ПОКА не дано), во вторых комп подсаживается намертво. Не все равно чето нето, ИМХО.

Очевидно, что я потратил сколько-то времени на простой скрипт, но совсем забыл о существовании теоремы Ферма — о чем автор треда, достопочтенный The_Kid, уточнил в самом конце. Да, розыгрыш, ловушка для новичков, да, падонкафский, ну и што.

Итог печален - в П. практически нет людей, знающих математику, но каждый второй мнит себя мего программистом. За три часа, на все форумах на которых я разместил сообщение, было суммарно около двух сотен просмотров... и всего два правильных ответа. А теорема Ферма - это ведь школьная программа, и условия ее настолько просты, что должны бросаться в глаза. Кстати, параллельно при опросе в аське 6 из 6 знакомых новосибирских студентов ответили «Это же теорема Ферма».
И кого после этого брать на работу?

Грустно ли мне сейчас? Тогда это вызвало у меня бурю возмущения в духе: «Если я не написал про теорему Ферма, это не значит, что я о ней не знаю», — классическая отмазка. Как тогда, когда мою игру зафичерили в индонезийском Windows Phone Store, а через две недели удалили, потому что я не обновил какие-то там условия EULA. Нет, это тоже урок на всю жизнь.

Чем заниматься? И совершенно ведь непонятно: если в одной там крупной компании некого брать на работу — кем же тогда быть? Куда расти?

Не стоит думать, что, получив образование, ты будешь программистом/таксировщиком/математиком или ещё кем-то.

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

На прикладные навыки у человека ещё будет вся остальная жизнь. Это что касается университета.

Олег, ведущий системный аналитик

Университет

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

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

Спойлер — на собеседованиях они будут никому не нужны. Я вот не решал, не ходил на допы, а просто доучился в своём математическом классе, попутно делая интересные штуки.

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

мониторингу Ян, специалист по фин.

Можно даже потом рассказывать всем, как это было классно. Реальная история — за симулятор Windows, сделанный с товарищем на коленке в 10 классе, в универе можно получить пару экзаменов и зачетов автоматом. Проблема в том, что это не было классно — это были запутанная архитектура, отвратительный код и полное отсутствие каких-либо стандартов хоть чего-нибудь.

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

И совершенно не страшно, если он вначале будет на ощупь что-то делать,осознание позже придёт. Поддержу, важнее помогать советами, что можно делать и где брать инфу, а не наоборот. Важно, чтобы нравилось.

Эрик, инженер по тестированию

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

  1. Потрать время, найди книжку и поставь-таки тот дистрибутив Убунты, который тебе бесплатно прислали из Canonical. Там явно какая-то простая проблема, Убунта заводится везде. А Линукс тебе очень пригодится.
  2. Не бойся консоли. Volkov Commander, конечно, помещается на одну дискету, но попробуй разобраться, зачем тебе все эти команды, подружись с командной строкой. А дискеты умрут. Диски умрут. Флешки тоже умрут. Не сильно переживай.
  3. Почитай про алгоритмы, разберись в сортировках, деревьях и кучах. Читай книжки.
  4. Чтобы разобраться в основах, платные курсы не нужны. Скоро появится Ютуб – вот ты удивишься.
  5. Не зацикливайся на Бейсике. В мире есть сотня технологий, которые стоят твоего внимания, и миллион вещей, которые интереснее, чем в очередной раз рисовать юзерформы в Экселе. Возьми хотя бы Python — а дальше разберешься.
  6. Научись пользоваться Гитом, забэкапь все исходники. Напиши хотя бы одно клиент-серверное приложение, чтобы понимать, как они работают. Разберись в сетях, свитчах и маршрутизаторах.
  7. И если ты сейчас это читаешь, значит всё не зря.

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

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть