Skip to main content

Куда исчезла магия?

Автор статьи - Technically Correct, ссылка на оригинал: Where has the magic gone?. Перевод опубликован с разрешения автора.

Большое изменение, которое я осознал во время стартапов, заключается в том, что инженерия больше не чувствует себя «волшебной».

IMG_0663

Один из моих любимых школьных проектов: Wireless Electricity!

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

Нинтендо 3DS-AquaOpen

Так много ожидалось от этой почтенной консоли

У меня было такое же чувство, когда мы купили наш первый домашний ноутбук в 2013 году (который сейчас лежит без питания и не используется возле моего учебного стола). У меня кружилась голова от возможностей, и это было до того, как я успел что-нибудь узнать о том, как кодировать. Как это ни звучало, я почувствовал искру, когда внедрил простое сито, чтобы увеличить время выполнения вопроса Project Euler с двух часов до нескольких секунд. Это было усилено кружком друзей в школе.

WP_20150413_22_07_12_Pro

Дисплей температуры Arduino - отображает ароматный 24 градусов C

Я испытал это снова, когда мне пришлось играть с Arduino год спустя. Вначале меня поразило, что я могу написать код на C, чтобы включать и выключать светодиод. Один из моих первых проектов Arduino в то время состоял в том, чтобы связать мою UNO с микрофоном для просмотра формы сигнала на экране с помощью Processing. Было что-то очень приятное в том, чтобы понять, как работают датчики. В конце концов, я перенастроил свой UNO для работы в качестве бинарного дисплея с 7 светодиодами для моего датчика температуры окружающей среды TMP36.

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

Знание - обоюдоострый меч. Когда я был новеньким программистом с яркими глазами, все было гораздо интереснее, но только благодаря опыту, который я получил из одного проекта, я смог сделать другой. Я мог бы винить в этом выгорание раньше, но, проведя очень расслабленный последний год, я не могу сказать, что это так. Это привело меня к мысли, что захватывающей частью никогда не была фактическая реализация (или кодирование в данном случае), а поиск решения вместо этого. Я довольно рад, что именно так все и получилось, потому что я думаю, что 18-летняя моя версия предпочла бы неудачный старт в разработке GUI для создания веб-интерфейса / веб-интерфейса, если бы мне понравилась часть программирования. Помимо всех моих оговорок, я все еще любил то, над чем я работал, и людей, с которыми я встречался на этом пути. Тем не менее, я бы не