Начало

Я сто раз влюблялся и разлюбил код.

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

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

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

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

Были посеяны семена любви на всю жизнь.

В подростковом возрасте процветал доступный домашний компьютер, битва между Commodore Amiga и Atari ST была выиграна в моем сердце благодаря телевизионной рекламе, обещавшей, что ST может «рисовать картинки и даже заставлять их двигаться». Я так и не понял, как это сделать, к моему большому разочарованию. Тогда и началось мое пожизненное подозрение в мотивах рекламодателей!

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

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

Углубление

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

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

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

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

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

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

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

Созревание

Я почти пять лет проработал в Школе физики в Эдинбурге, помогая британским ученым создавать приложения, разбрасывая магические (Java) бобы. Я научился работать с проектами, работать с командами и применять передовой опыт. Меня также познакомили с идеей, что ваш код на самом деле может не иметь никакого отношения к реальному миру - что многое из того, что вы пишете, является спекулятивным или может быть выброшено.

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

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

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

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

Диверсификация

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

В то время я был в восторге от C # (прекрасно разработанный язык для Java-беженцев), озадачен Wordpress и слегка искажен PHP. Не говоря уже о просмотре JavaScript - JavaScript! - править миром. У всех есть свои милые причуды. У всех их острые углы. Я их немного любил и ненавидел.

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

Любящий

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

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

Скорее всего, будет то же самое и с вами.

Если вы посетите мой сайт и подпишетесь на мой список, я пришлю вам три вещи совершенно бесплатно:

  1. Полное руководство по медитации для программистов
  2. Контрольный список для выгорания кодирования
  3. Три аудиомедитации с гидом

Эта статья впервые появилась на www.codingmindfully.com.