Рубрика «software engineering»

image

20 июля 1969 года, в 20:17:39 по Гринвичу, лунный модуль миссии «Аполлон-11» совершил первую в истории человечества пилотируемую посадку на другое небесное тело. Событие огромной значимости, как в плане науки, так и в плане идеологическом, стало возможным благодаря самоотверженной работе сотен людей — техников, контролёров, специалистов по связи. И, конечно, программистов. Знаете поговорку: «За каждым великим мужчиной стоит женщина»? Так вот, в случае Нила Армстронга, Базза Олдрина и Майкла Коллинза, это на 100% правда, хотя и женщина была одна на троих. И имя ей — Маргарет Гамильтон, госпожа программного кода НАСА.Читать полностью »

Инженерия данных !=инженерия ПО - 1


В последние годы мы видим, как инженерия данных всё больше сливается с индустрией DevOps. В обоих этих направлениях для доставки надёжных цифровых продуктов клиентам используется облачная инфраструктура, контейнеризация, CI/CD и GitOps. Это схождение в плане использования одного набора инструментов заставило многих думать, что инженерия данных не имеет значительных отличий от инженерии программного обеспечения. Как следствие, первая оказывается «несовершенной», поскольку дата-инженеры отстают с внедрением эффективных практик разработки ПО.

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

Магистерская программа JetBrains на базе Университете ИТМО: интервью со студентами - 1

Совсем скоро выпускникам бакалавриата предстоит сделать выбор – остановиться на достигнутом или продолжить обучение. Для тех, кто выберет второй вариант, мы хотим напомнить о нашей магистерской программе «Разработка программного обеспечения / Software Engineering» на базе Университета ИТМО.

Ранее мы рассказывали о том, как у нас устроена учеба. А в этот раз мы задали несколько вопросов нашим студентам первого года обучения: попросили рассказать немного о себе, поделиться впечатлениями о поступлении и их первом семестре на программе. Знакомьтесь!
Читать полностью »

Вам приходилось испытывать сильные эмоции на работе? Как насчёт страха, внезапно захлестнувшего ваш мозг? Легко потом работать эффективно? Если ваша организация уже внедрила agile, но с вами такое всё еще случается – что-то идёт не так.

Меня зовут Артем Зарафьянц, и я руковожу одним из отделов разработки СХД Dell Technologies в Санкт-Петербурге. Работаю 12 лет, с открытия нашего офиса. В 2007 году, начиная работу над VNXe, мы стали использовать agile на уровне команды – тогда не сложилось. Наш процесс столкнулся с ватерфоллом на глобальном уровне и постепенно угас. VNXe мы выпускали без agile: конечно же, успешно (как и всё масштабное в нашей корпорации), однако медленно, дорого и на стрессе. Примерно 6 лет назад наша инженерная организация (несколько тысяч сотрудников) начала систематическое внедрение agile at scale сверху. В то время я уже был менеджером и получил второе (из трёх) высшее образование – по психологии. Это помогло мне осознанно пройти через опыт внедрения agile, и я готов им поделиться.

Agile и потребности мозга: управление стрессом - 1Читать полностью »

Пролог

Существует несколько статей, например Как я поступил на дистанционное образование в магистратуру Walden (США), Как поступить в магистратуру в Англии или Дистанционное обучение в Stanford University. Все они обладают одним недостатком: авторы делились ранним опытом обучения или же опытом подготовки. Это безусловно полезно, но оставляет простор для фантазий.

Я расскажу о том, как происходит получение степени магистра по Software Engineering в University of Liverpool (UoL), насколько это полезно и стоит ли учиться, когда тебе 30 и кажется, что в профессиональном плане все совсем неплохо.
Данная статья может быть полезна как молодым ребятам, только-только начинающим свой путь в индустрии, так и матерым разработчикам по каким то причинам пропустившим степень или же имеющих степень в учебном заведении, которое недостаточно котируется в мире.
Читать полностью »

Перед вами перевод статьи из блога Better Programming на сайте Medium. В ней программист Daan делится простыми правилами, следуя которым вы сможете давать хорошие имена функциям и переменным.

Как придумывать содержательные имена для вашего кода - 1

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

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

Первый выпуск корпоративной магистерской программы JetBrains и Университета ИТМО - 1

В этом году состоится первый выпуск студентов корпоративной магистерской программы JetBrains и Университета ИТМОЧитать полностью »

В сентябре 2019 года СПбГУ открывает факультет математики и компьютерных наук. Набор в бакалавриат начинается уже в конце июня на три направления: «Математика», «Математика, алгоритмы и анализ данных» и «Современное программирование». Программы созданы коллективом Лаборатории им. П.Л. Чебышёва вместе с ПОМИ РАН, Computer Science центром, компаниями Газпромнефть, JetBrains и Яндекс.

image

Курсы читают известные преподаватели, опытные и увлечённые сотрудники IT-компаний. Среди преподавателей — Николай Вавилов, Эдуард Гирш, Сергей Иванов, Сергей Кисляков, Александр Охотин, Александр Куликов, Илья Кацев, Дмитрий Ицыксон, Александр Храбров. А также Александр Авдюшенко из Яндекса, Михаил Сенин и Святослав Щербина из JetBrains и другие.

Занятия проходят на Васильевском острове в центре Петербурга.
Читать полностью »

image

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

  • рассказать про эту структуру данных
  • посмотреть на то, что уже есть в Rust
  • предложить свою реализацию
  • сравнить производительность

Читать полностью »

Implementing UI in iOS: Better, faster, and it scales - 1

A few months ago I came across a very interesting documentary series on Netflix called Abstract, they basically explore the output of professional designers from different sectors like architecture, graphic design, fashion, … in their workplaces.

It was easy to spot some similarities in the work of designers from other fields with that of an iOS developer who implements user interfaces. For example, when a designer is creating something that is big enough to be broken down into smaller parts, using a strategy like ‘Divide and Conquer’ is key to being able to focus on smaller parts that will be assembled at later stages in the process.

Breaking down a whole design into smaller subunits allows us to think about each problem in isolation, removing any dependencies between the components. But the full picture also needs to be present throughout the whole process, otherwise there can be problems when the time comes to fit everything back together.

On the other hand, while watching Abstract I noticed that in the design process for objects like a shoes, banners or buildings the final design remains fixed for the lifetime of the product. The design of a Nike shoe isn’t going to change after it is released and there aren’t going to be any updates once it’s on the shelf in the shop. Sometimes a design remains unchanged even 20 years later, and the product is still sound.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js