Рубрика «software engineering» - 2

Магистерская программа «Разработка программного обеспечения / Software Engineering» компании JetBrains на базе Университета ИТМО объявляет набор на 2019-2021 уч.гг.

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

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

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

В предыдущих постах мы рассказывали, что наши студенты делают на стажировках: научных (например, в JetBrains Research) и промышленных. В этом посте хотим поделиться, как мы учим промышленному программированию.

Как мы в Питерской Вышке учим Software Engineering - 1

Кратко: за четыре курса бывший школьник пробует десяток-другой технологий и языков, постоянно пишет и удаляет много кода, проходит code review от более опытных товарищей (не всегда с первой попытки), углубляется в какую-то тему и в итоге защищает содержательный диплом. Всё это проходит прямо в университете и даёт диплом гособразца. А летом можно либо отдохнуть, либо постажироваться в России в JetBrains, Яндексе и JetBrains Research (если хочется больше науки) или съездить за рубеж (Google, Facebook и другие). Теперь поподробнее.

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

Доцент Лаборатории разработки промышленного ПО Университета Иннополис Джу Йонг Ли предложил лучшее исследование в области скоростной автоматизации устранения багов и вошёл в десятку победителей The Facebook Testing and Verification Research Awards. Всего на грант прислали заявки 145 исследователей со всего мира. Учёный рассказал нам о работе над своим исследованием.

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

Если вкратце, то я бы посоветовал читать много книг, не имеющих отношения к информатике.

image

Важно понимать, какое место занимает понятие «science» в «Computer Science», и что означает «engineering» в «Software Engineering».

Современное понятие «науки» можно сформулировать так: это попытка перевести явления в модели, которые можно более-менее легко объяснить и предсказать. На эту тему можно прочесть «Sciences of the Artificial» (одна из важных книг Герберта Саймона). На это можно смотреть с такой точки зрения: если люди (особенно разработчики) строят мосты, то учёные могут объяснять эти явления, создавая модели. Самое интересное в этом то, что наука почти постоянно будет находить новые, лучшие способы наведения мостов, так что дружеские отношения между учеными и разработчиками вполне могут улучшаться с каждым годом.

Примером подобного из сферы Computer Science является Джон Маккарти, размышляющий о компьютерах в конце 50-х годов, то есть о невероятно большом спектре того, что они могут сделать (может быть, ИИ?), и создание модели вычислений, которая является языком, и может служить в качестве собственного метаязыка (Lisp). Моя любимая книга на эту тему — «The Lisp 1.5 Manual» от MIT Press (автор Маккарти с соавторами). Первая часть этой книги по-прежнему остается классикой того, как нужно думать в целом и об информационных технологиях в частности.
Читать полностью »

Привет!

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

В хабе IT-эмиграция в последнее время публикуют всё больше и больше статей про переезд в разные страны, но довольно мало про Ирландию — решил восполнить этот пробел. Надеюсь, кому-то будет полезно.

image

Я работаю разработчиком программного обеспечения в международной букмекерской компании со штаб-квартирой в Дублине. Если чуть точнее, пишу на Scala/Akka, хотя планирую не ограничивать себя только этим. Разрабатываем кластерные отказоустойчивые высоконагруженные приложения.

Подробности ниже.

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

Компания JetBrains объявляет об открытии магистерской программы «Разработка программного обеспечения / Software Engineering» на базе Университета ИТМО. Приглашаем абитуриентов продолжить своё обучение и получить качественные знания в области программирования и компьютерных наук.

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

Учебная программа

Программа предлагает студентам актуальные знания в области разработки программного обеспечения. Базовые курсы (алгоритмы, программирование, машинное обучение и другие) дополнены специализированными предметами (глубокое обучение, информационный поиск, анализ изображений и другие), которые представляют современные подходы к решению задач IT-индустрии. Преподавательский состав программы включает в себя действующих учёных и разработчиков крупных компаний Петербурга.
Читать полностью »

Картинка для привлечения внимания: > Replay bug-10492; going back in time

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

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

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

Хотите узнать как это сделать? Прошу под кат.

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

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

Вот мои 3 (+1 бонусная) наиболее распространенные рекомендации по код-ревью.

image

Рекомендация 1: Выбрасывайте исключения, если что то идет не так

Зачастую паттерн выглядит так:

List<String> getSearchResults(...) {
  try {
    List<String> results = // make REST call to search service
    return results;
  } catch (RemoteInvocationException e) {
    return Collections.emptyList();
  }
}

Этот паттерн вызвал перебои в одном из мобильных приложений, над которыми я работал. Поиск на стороне сервера, который мы использовали, начал выбрасывать исключения. Оказалось, на серверном API приложения был некоторый код, похожий на приведенный выше. Поэтому приложение получало 200 ответ сервера и с радостью показывало пустой список для каждого поискового запроса.
Читать полностью »

image

Дефект, который справедливо считается «чумой» современного программирования преодолим. Предлагаем ознакомиться с переводом статьи Бертрана Мейера, французского учёного, создателя языка программирования Eiffel, приглашенного профессора и руководителя Лаборатории программной инженерии Университета Иннополис. Оригинал статьи опубликован в журнале Сommunications of the ACM.Читать полностью »

Да, мы запускаем вторую серию Турниров Кроссовера!
2 апреля в Петербурге — в этот раз мы ищем Software Engineering Managers и Technical Product Managers, а потом 22 апреля в Москве (.NET или Java техлидов).

Но прежде, чем рассказать о том, что будет – давайте посмотрим, как это было в Москве 18 февраля.

SEM раз отмерь. Или «как узнать SEM ли ты и что с этим делать дальше?» - 1

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


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