Фото автора Huang Yingone на Unsplash

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

Я хочу рассказать вам свою историю и то, что я потерял бы, если бы отказался работать в COBOL еще в 2010 году, когда мне было 25 лет.

Жизнь в большом городе

После университета я начал работать в крупной компании в Милане. Я работал над частной социальной сетью, используя самый последний технологический стек Java. Это был 2010 год: трендовые технологии на трендовом рынке и хорошая рабочая среда.

Главный офис компании в Милане (Изображение из Streetview © 2021 Google)

К сожалению, в глубине души я чувствовал себя плохо. Я родился в Валькамонике (Италия), среди гор, и жизнь большого города мне не подходила.

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

Офисы компании COBOL в момент, когда я брал интервью (изображение из Streetview© 2021 Google)

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

Вам нужны цифры на COBOL?

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

В любом случае, это не имеет отношения к тому, что я хочу вам сказать. Я не хочу никого убеждать, что COBOL — классный язык, потому что это не так. Это, вероятно, худший язык, с которым я работал (технически говоря).

Какие черты делают его таким уродливым? Почему разработчики программного обеспечения не любят с ним работать?

Проблемы

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

  • файлы исходного кода длиной около 70000 строк. Многие из тех.
  • Загадочные (иногда забавные 😂) имена переменных и процедур.
  • Беспорядочные и устаревшие интерфейсы.
  • Нет библиотек структур данных (например, нет динамических массивов).
  • Устаревшая IDE
  • Нет тестовых фреймворков.
  • Процедурное программирование.
  • Нетипичные типы данных (например, без int, float, double, string, char и т. д.).
  • Нет поддержки для определения новых типов данных (например, struct в C).
  • Нет функций с локальной областью выделения.
  • Собственная и устаревшая настойчивость.
  • Мне продолжать? Я думаю, вы поняли идею 😅

Типичная реакция разработчика (Изображение из Giphy)

Измените свою точку зрения

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

https://247sports.com/college/utah/board/102583/contents/totalsportek-nxt-takeover-live-free-14-feb-2021-160941860/
https://247sports.com /college/utah/board/102583/contents/redditstreamsnxt-takeover-live-stream-reddit-free-160941862/
https://247sports.com/college/utah/board/102583/contents/soccer -live-nxt-takeover-live-stream-reddit-free-160941863/
https://247sports.com/college/utah/board/102583/contents/-free-nxt-takeover-free- live-stream-nxt-takeover-tv-160941866/
https://247sports.com/college/utah/board/102583/contents/live-streams-nxt-takeover-live-stream-reddit- 160941867/
https://247sports.com/college/utah/board/102583/contents/live-tv-reddit-from-the-nxt-takeover-live-stream-free-160941869/< br /> https://247sports.com/college/utah/board/102583/contents/watch-free-nxt-takeover-stream-tv-channel-2021-160941871/
https:// 247sports.com/college/utah/board/102583/contents/-live-hd-nxt-takeover-live-online-broadcast-160941872/
ht tps://247sports.com/college/utah/board/102583/contents/live-nxt-takeover-free-live-streaming-160941875/

https://247sports.com/college/utah/board/102583/contents/live-matches-nxt-takeover-2021-live-online-tv-160942235/
https://247sports.com /college/utah/board/102583/contents/totalsportek-nxt-takeover-2021-live-free-14-feb-2021-160942236/
https://247sports.com/college/utah/board /102583/contents/nxt-takeover-2021-live-stream-reddit-boxing-free-140221-160942237/
https://247sports.com/college/utah/board/102583/contents/redditstreamsnxt -takeover-2021-live-stream-reddit-free-160942239/
https://247sports.com/college/utah/board/102583/contents/boxing-live-nxt-takeover-2021-live -stream-reddit-free-160942240/
https://247sports.com/college/utah/board/102583/contents/free-nxt-takeover-2021-free-live-stream-nxt-takeover -2021-tv-160942241/
https://247sports.com/college/utah/board/102583/contents/live-streams-nxt-takeover-2021-live-stream-reddit-160942242/
https://247sports.com/college/utah/board/102583/contents/live-tv-reddit-from-the-nxt-takeove r-2021-live-stream-fre-160942243/
https://247sports.com/college/utah/board/102583/contents/watch-free-nxt-takeover-2021-stream-tv- канал-2021-160942245/
https://247sports.com/college/utah/board/102583/contents/-live-hd-nxt-takeover-2021-live-online-broadcast-160942246/

https://247sports.com/college/utah/board/102583/contents/live-matches-wwe-nxt-takeover-live-online-tv-160942410/
https://247sports.com /college/utah/board/102583/contents/totalsportek-wwe-nxt-takeover-live-free-14-feb-2021-160942412/
https://247sports.com/college/utah/board /102583/contents/wwe-nxt-takeover-live-stream-reddit-boxing-free-140221-160942414/
https://247sports.com/college/utah/board/102583/contents/redditstreamswwe -nxt-takeover-live-stream-reddit-free-160942415/
https://247sports.com/college/utah/board/102583/contents/boxing-live-wwe-nxt-takeover-live -stream-reddit-free-160942417/
https://247sports.com/college/utah/board/102583/contents/watch-wwe-nxt-takeover-live-stream-reddit-160942421/
https://247sports.com/college/utah/board/102583/contents/live-wwe-nxt-takeover-free-live-streaming-160942423/
https://247sports .com/college/utah/board/102583/contents/-live-hd-wwe-nxt-takeover-live-online-broadcast-160942424/
https://247sports.com/college/utah/board/102583/contents/watch-free-wwe-nxt-takeover-stream-tv-channel-2021-160942428/
https://247sports. com/college/utah/board/102583/contents/live-streams-wwe-nxt-takeover-live-stream-reddit-160942431/

https://247sports.com/college/utah/board/102583/contents/live-matches-nxt-takeover-vengeance-live-online-tv-160942574/
https://247sports.com /college/utah/board/102583/contents/redditstreamsnxt-takeover-vengeance-live-stream-reddit-fre-160942576/
https://247sports.com/college/utah/board/102583/contents /free-nxt-takeover-vengeance-free-live-stream-nxt-takeover-veng-160942578/
https://247sports.com/college/utah/board/102583/contents/live-tv -reddit-from-the-nxt-takeover-vengeance-live-strea-160942579/
https://247sports.com/college/utah/board/102583/contents/watch-free-nxt-takeover -vengeance-stream-tv-channel-2021-160942580/
https://247sports.com/college/utah/board/102583/contents/-live-hd-nxt-takeover-vengeance-live- онлайн-трансляция-160942581/
https://247sports.com/college/utah/board/102583/contents/watch-nxt-takeover-vengeance-live-stream-reddit-160942582/

https://www.guest-articles.com/anime/if-real-can-control-possession-in-the-middle-and-keep-their-shape-across-the-back-14-02-2021
https://www.guest-articles.com/careers/ryan-murphy-netflix-lefhjguhjhad-glafygufyguihtyad-award-nominations-dayss-14-02-2021
https:/ /www.guest-articles.com/art-culture/ryan-mtfyuyurphy-netflix-lefhjguhjhad-glafyguhtyad-award-nominations-dayss-14-02-2021
https://www.guest-articles. com/attorney/ryan-murphy-netflix-lefhjguhjhad-glafyguhtyad-award-nomighjtfernations-dayss-14-02-2021
https://www.guest-articles.com/claim/ryan-murphy-netyttflix -lefhjguhjhad-glafyguhtyad-award-nomirhgnations-dayss-14-02-2021
https://www.guest-articles.com/claim/ryan-murptrhy-netflix-lefhjguhjhad-glafyguhtyad-awtyu5rard-nominations- days-14-02-2021
https://www.guest-articles.com/computers/ryan-murphy-netflix-lefhjguhjhad-glafyguhtyad-award-nominatigyyons-dayss-14-02-2021< br /> https://www.guest-articles.com/donate/ryan-murydturphy-ne tflix-lefhjguhjhad-glafyguhtyad-award-nominations-dayss-14-02-2021
https://www.guest-articles.com/conference-call/ryan-murphy-nerdtyyutflix-lefhjguhjhad-glafyguhtyad-award -nominations-dayss-14-02-2021
https://www.guest-articles.com/education/ryan-murtyyphy-netfdfglix-lefhjguhjhad-glafyguhtyad-award-nominations-dayss-14-02- 2021
https://www.guest-articles.com/business/ryan-murphy-netflix-lefhjguhjhad-glafyguhtyad-awcddard-nomddinations-dayss-14-02-2021

Это проблемы только в том случае, если они сочетаются со следующим предложением:

Здесь мы всегда так делали

Это предложение — единственное, что вы должны держать подальше от своей трудовой жизни. Это симптом страха перемен.

Но если вы работаете с людьми, готовыми к переменам, пункты этого списка не будут проблемой. Это все возможности! И так много!

Зеленое поле

Фото автора Simon Waelti на Unsplash

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

Нет библиотек динамических массивов? Вы можете построить один! У скольких из вас была возможность запустить библиотеку динамических массивов? Я это сделал, и на него ссылаются 23954 раза в 1918 исходных файлах (и это открытый код).

Устаревшая IDE? Мой коллега создал расширение VS Code. С тех пор вся команда приняла VS Code, и он намного лучше официальной старой IDE.

Список некоторых актуальных тем, которые мы имели возможность оспорить:

  • библиотека для динамического распределения памяти (сборка мусора)
  • новое высокопроизводительное хранилище
  • дизайн обработки ошибок
  • локальный поставщик API
  • проектирование общих функций для сетей
  • принятие инструментов управления версиями, а затем переход на git
  • переход на гибкие методологии

Мы всегда должны помнить, что пределы ограничены инструментами. Не наш.

COBOL имеет низкую поддержку со стороны сообщества. Затем, вместо того, чтобы спрашивать «какой фреймворк/библиотеку/инструмент я собираюсь использовать?», задайте вопрос «какой фреймворк/библиотеку/инструмент я собираюсь создать, и как? ». В некотором смысле это более расслабляет, чем погружение в джунгли современных дней.

у меня есть мечта

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

Ну в итоге я так и сделал.

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

Мое начальство решило переписать его с нуля, внутренне. Деятельность была поручена мне.

Это было невероятно безумное… о, извините… смелое решение. Если бы мы потерпели неудачу, то потеряли бы стратегическую позицию на рынке.

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

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

Если бы я отказался работать с этими людьми из-за COBOL, я бы потерял возможность заниматься любимым делом, там, где мне нравится жить.

Вывод

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

Позвольте мне сказать это прямо, так что я обязательно отправлю вам именно то сообщение, которое я имею в виду:

не сосредотачивайтесь на технологиях, сосредоточьтесь на людях. Вы можете быть удивлены!

Спасибо за чтение.

P.S.

И последнее… поверьте мне… это всегда лучше, чем Javascript 🤣! (Пожалуйста, без флейма 🔥, это всего лишь шутка. Я тоже люблю работать на Javascript 😜)