Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области.
Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него.
"Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!"
Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее.
Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то.
С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше.
Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс.
В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков.
#dev
Мало, кто знает, что я 2 года работал советником Руководства одного из крупнейших регионов России по вопросам развития предпринимательства и международным проектам.
А до этого много лет параллельно с занятием бизнесом выполнял и общественные функции : был членом Совета при Главе региона по инвестициям и общественного совета при Комитете по предпринимательству и туризму.
Да-да, было такое. Этот сложный и уникальный опыт я ценю до сих пор, как один из самых главных в своей жизни. Государственная служба помогла мне повысить дисциплинированность, структурность мышления, именно там я наконец-то понял, о каких именно проблемах и вызовах институциональной экономики говорит невероятно чтимый мной А.А. Аузан (декан экономического факультета МГУ) и как же непросто приходится принимать решения тем, кто находится наверху политической вертикали, когда нужно учитывать тысячи и даже десятки тысяч переменных одновременно.
Поварившись в том «супе» я очень сильно дополнил свою картину мира и навсегда освоил очередной русский язык (а я знаю их очень много) – это GR-язык. Крайне важно на нем уметь разговаривать, или хотя бы его понимать. Поверьте мне.
#GR
#вакансия#GR
GR-специалист в выставочную компанию
Обязанности:
• Организация взаимодействия с посольствами;
• Организация взаимодействия с регионами, министерствами, ведомствами;
• Организация официальных визитов и VIP-туров;
• Подготовка официальных писем (на русском и английском языках);
• Анализ возможных направлений развития GR-стратегии компании;
• Посещение профильных мероприятий.
Требования:
• Высшее образование (желательно по профилю GR, международные отношения, политология, международный бизнес);
• Грамотность, умение писать официальные письма;
• Знание иностранных языков (английский), дополнительные языки приветствуются;
• Знание MS Outlook, MS Teams;
• Опыт работы в 1С First BIT ERP, электронном документообороте приветствуется;
• Личные качества: ответственность, исполнительность, коммуникабельность.
ПРИМЕЧАНИЕ: во время подготовки к выставкам может потребоваться работа в выходной день с правом на отгул.
Условия:
1) Заработная плата: 140 000 - 150 000 руб.;
2) ДМС по итогам испытательного срока;
3) Гибридный формат работы (офис + удаленно);
4) Выездные корпоративные мероприятия;
5) Мотивационная программа по выполнению целей (ежеквартально).
Повопросам можете обращаться:
Артем Юрьевич Демченко
+7 (981) 143-97-71
[email protected]
#кейс#GR
Сегодня ко мне обратился с просьбой один знакомый предприниматель. Они разослали письма 9-ти руководителям регионов РФ с предложением о сотрудничестве. Сделали это почти месяц назад и до сих пор никто так и не вышел с ними на связь.
«Иван, помоги понять, может мы что-то сделали неправильно?» - так начал наш сегодняшний разговор мой товарищ. Назовем его Олег.
Мне хватило 5 минут и нескольких вопросов, чтобы проанализировать ситуацию и вывод был достаточно однозначный - сделано было неправильно практически всё.
Я не устаю повторять, что успех любой коммуникации на 40% зависит от того, насколько системно и глубоко вы к ней подготовились : первоначальный сбор и анализ информации, карты стейкхолдеров и т.д. Большинство людей проваливают этот этап, а потом, разводя руками, говорят, что нам так и не ответили, либо вторят легендам и сплетням. Помимо этого, конечно необходимо четко понимать на чье поле вы вступаете.
«В каждой избушке свои погремушки»
- все-таки мудрая была у меня бабушка. Это означает, что в секторе власти, как и в любом другом «мире» свои традиции, нормы, этикет, символы и конечно же правила. И незнание правил, как мы помним, не освобождает от ответственности за отрицательный результат.
С моим товарищем мы начали с того, что посмотрели, как было составлено само письмо с предложением о сотрудничестве. Сделано всё было безукоризненно. Если бы мы говорили про коммерческое предложение к примеру в B2B секторе. Однако для руководителя региона оно совершенно не подходило. Полностью перекроили письмо и расставили по-другому акценты, затем выяснили, что писать нужно на совершенно других людей (где-то это профильный вице-премьер, где-то министр, а где-то руководитель соответствующего комитета).
И затем уже подумали над многоэтапной коммуникационной стратагемой, которая учитывала не только отправку писем, но и цепочку правильных касаний и попаданий в «поле фокуса», но это уже совсем другая история.
Ну и как сейчас модно писать в тг-каналах – если посты на подобные темы вызывают у вас интерес, более того есть запрос на то, чтобы я писал подробнее и раскрывал детали, как решаются те, или иные кейсы, то давайте поставим 50 «🔥» этой публикации. Так я пойму, что нужно чаще писать на такие темы. Да и тем, как развивается история Олега поделюсь.
Всем хорошего вечера и грамотно выстроенных связей.
#резюме#международка#GR
Резюме специалиста отдела международных связей, GR-менеджер.
Международник с опытом работы в загранучреждениях более 7 лет. Эффективно планировала и организовывала деятельность отдела на курируемом направлении. Успешно решала задачи по поиску, анализу и систематизации информации. Участвовала в подготовке и проведении международных переговоров, протокольных мероприятий и церемоний. Профессионально владеет румынским и английским языками.
В идеале: вакансии уровня мидл в международном/GR отделе компании.
Возможны и другие позиции: помощник gr менеджера, event менеджер, менеджер ВЭД.
Уровень дохода 150-200к
Контакт: +7 917 516 0088
Анастасия Цветкова вошла в Экспертный совет по устойчивому развитию Минэкономразвития РФ.
Обновленный состав экспертного совета по устойчивому развитию (ЭСУР) утвержден приказом министра экономического развития Максима Решетникова от 25 октября 2022 года. Подробности: https://b-c-g.ru/news/anastasiya-cvetkova-voshla-v-yekspertny-sovet-pri-mineconomrazvitiya/
#GR#ESG
🤝Всем привет, это Артур Щеглов. Несколько кадровых перестановок. Не забудьте поздравить коллег с назначениями!
🔹 Заместителем генерального директора «Российских железных дорог» стал Юрий Бакеркин, который до этого руководил департаментом инвестиций компании.
🔹 Собянин сменил главу департамента градостроительной политики. Сергея Лёвкина на этом посту сменил Владислав Овчинский, ранее отвечавший в столичном Правительстве за инвестиционную и промышленную политику.
🔹 Министром Правительства Москвы, руководителем Департамента инвестиционной и промышленной политики города Москвы назначен Анатолий Гарбузов.
🔹 Бывший директор департамента международной кооперации и лицензирования в сфере внешней торговли Минпромторга РФ Роман Чекушов назначен на должность статс-секретаря - замглавы Минпромторга.
#p3runner#GR
🔄Всем привет, это Артур Щеглов. На неделе произошло несколько важных для инфраструктурного рынка назначений, которые стоит учитывать в своей работе.
🔸 Игорь Шувалов переназначен председателем госкорпорации «ВЭБ.РФ» ещё на пять лет.
🔸 Заместитель руководителя Росавтодора Виктор Тимофеев стал заместителем министра транспорта Российской Федерации. На этой должности он сменил Василия Десяткова.
🔸 Заместитель генерального директора РЖД Алексей Шило перешёл на работу в Минтранс и занял должность замминистра. Алексей Шило будет курировать работу железнодорожного транспорта и сменит на этом посту Валентина Иванова, которого повысят до первого замминистра.
🔸 Место первого замглавы Минфина, освободившееся после перехода Леонида Горнина в Минобороны, займёт замминистра Ирина Окладникова. Она курировала в Минфине три департамента: организации составления и исполнения федерального бюджета, бюджетной политики в отраслях экономики и проектного финансирования и инвестиционной политики (отвечает за регулирование в таких сферах, как ГЧП, а также инструменты стимулирования капвложений, например СЗПК, СПИК и т. д. – «Ведомости»).
🔸 Заместителем министра спорта РФ назначен Мгер Гандилян. Ранее он трудился вице-губернатором Хабаровского края, когда регионом руководил Михаил Дегтярёв, новый глава Минспорта.
#p3runner#GR
📣 Дорогие коллеги!
В промышленный холдинг требуется сотрудник на должность руководителя направления по взаимодействию с деловыми сообществами (Деловая Россия, РСПП, ТПП).
Среди задач:
🔺обеспечение коммуникации с участниками деловых объединений;
🔺составление графиков, встреч и организация поездок;
🔺составление повестки дня собраний, ведение протоколов, работа с входящей и исходящей корреспонденцией;
🔺подготовка аналитических справок;
🔺организация и сопровождение мероприятий;
🔺разработка и ведение каналов коммуникации, включая сайт и пресс-релизы.
В числе требований к кандидату:
▪️образование в области управления, международных отношений, экономики, PR;
▪️опыт работы на аналогичной должности не менее 2 лет;
▪️знание особенностей работы крупных общественных или отраслевых деловых объединений, опыт делового общения с собственниками бизнеса;
▪️знание национальных особенностей Таиланда, опыт делового общения с представителями данной страны (как преимущество);
▪️развитые организаторские способности и навыки работы в режиме многозадачности, способность грамотно расставлять приоритеты;
▪️аналитические навыки, умение обобщать и структурировать информацию, готовить информационные справки;
▪️развитые коммуникативные навыки, свободное владение русским и английским языками (не менее С1). Знание тайского языка является преимуществом;
▪️владение Microsoft Office (Word, Excel, PowerPoint) на уровне уверенного пользователя;
▪️способность работать самостоятельно и проявлять разумную инициативу;
▪️высокий уровень профессионализма и внимание к деталям;
▪️готовность к командировкам.
❗️Адрес для соискателей: [email protected]
#вакансия#GR