Есть вопросы? Задайте их нам! +7(909)972-37-65 addandiam@gmail.com

Добро пожаловать на наш блог Академии дизайна

Примерно год назад мне представилась лучшая возможность в моей карьере - руководство спросило меня, не хочу ли я возглавить новую облачную команду. «Конечно, хочу», - ответил я. Я потратил некоторое время на то, чтобы собрать команду дальновидных людей из отдела разработки, которые, как я думал, сделают команду успешной. Опыт этих людей варьировался от нескольких до более чем 20 лет. Мы были крупной компанией-разработчиком программного обеспечения для предприятий, глубоко интегрированной в стек технологий Microsoft. Мы знали, что все может перевернуться, но единственное изменение, которое мы никогда не рассматривали, - это изменение языка программирования. Почему?

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

Потому что мы всегда работали с одним и тем же. Зачем менять то, что хорошо работает? Мы хорошо знаем свой язык, поэтому нам не нужно тратить время на изучение нового. Мы тратим все свое время на изучение таких вещей, как CI/CD, бессерверное программирование и NoSQL. Так-жe мы очень большое время уделяем на создание web-проектов используя PHP & MySQL и интерфейсные решения на JavaScript.

Старый и новый порядок в программировании

В своей книге "Sacred Cows Make The Best Burgers" Роберт Кригель рассказывает о том, как старые бизнес-процессы мешают инновациям. Речь здесь идет о вещах, которые давно должны были быть пересмотрены, но они никогда не подвергались сомнению, потому что они всегда работали.

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

Поэтому мы решили нарушить старый порядок в программировании

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

Выбор правильных инструментов в программировании

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

Вот общепринятые варианты использования для основных языков программирования:

  1. Python - наука о данных, машинное обучение и серверная часть
  2. C# - приложения и игры для Windows
  3. Java - серверная часть, приложения для Android
  4. JavaScript - веб-разработка
  5. Swift - приложения для iOS

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

Необходимость изменения в подходах к программированию

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

Поэтому стоит подумать об изменении технологии программирования

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

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

Будущее проекта

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

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

Резюме

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

«Если вы хотите чего-то нового, вам нужно перестать делать все по-старому». - Питер Ф. Друкер

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