23.01.2018

Orange {kITchen} приглашает на первое из серии мероприятий для IT сообщества - inspiratiON session.

После того, как мы вместе открыли Orange Orange {kITchen}новый рецепт работы в IT, и современное пространство IT кампуса компании Orange Systems, рады представить первое мероприятие для IT сообщества из серии inspiratiON session. Посредством таких вдохновляющих мероприятий Orange Systems подтверждает свою амбицию развить IT сферу под маркой креативности, качества и конкурентоспособности.

Специальный гость мероприятия является одним из самых знаменитых и востребованных технических тренеров из Бухареста – Виктор Рентя, который приедет в Кишинев осветить тему Evolving a Clean, Pragmatic Architecture - A Software Craftsman's Guide.

15-летняя карьера, в течение которой на протяжении последних только 5 лет Виктор читал лекции для более 1000 разработчиков в течение in-house сессий длительностью более 150 дней, проведенных в 20 компаниях в Румынии и Европе. В 2018 году он основал ‘Bucharest Software Craftsmanship Community’, где регулярно бесплатно проводит для сообщества удаленные мероприятия. В настоящее время Виктор занимает должность Lead Architectв IBM România. В совершенстве владеет Java, а так же PHP, Scala, JS и C# и определяет себя как Software Craftsman, практикуя техники eXtreme Programming, такие как Pair Programing, Continuous Refactoring и TDD.

Кто может принять участие в мероприятии

  1. Люди, обладающие базовыми знаниями концепции OOP (программирование, направленное на предметы);
  2. Люди, обучающиеся в сфере IT или окончившие профильный университет;
  3. Люди, работающие в сфере IT.

Мероприятие будет проходить в Orange {kITchen}, Calea Ieșilor 8, ZTower Business Center, начало в 18.00. Участие в мероприятии бесплатно, в пределах доступных мест.

Расписание мероприятие:

18.00 – 18.30: Регистрация
18.30 – 19.30: Техническая презентация - Evolving a Clean, Pragmatic Architecture
19.30 – 20.00: Пауза и снэки
20.00 – 21.00: Вторая часть: на выбор участников и live-coding в Java.

Чтобы зарезервировать место, заполните форму и получите подтверждение за день до мероприятия.

Если у Вас возникли вопросы, пишите на orange@orange.md.

Об Orange Systems

Orange Systems, это IT хаб компании Orange Moldova, резидент IT парка, в котором трудятся более 350 сотрудников. Более 50% сотрудников предоставляют услуги IT ниршоринга для внешних партнеров в следующих сферах: разработка программного обеспечения, тестирование и обеспечение уровня качества, контроль и менеджмент IT проектов, автоматизация процессов, business intelligence и big data. Orange Systems ставит своей целью развитие сферы IT под маркой креативности, качества и конкурентоспособности, посредством создания продуктов программного обеспечения и локальных экспертных центров.

Orange Moldova в течение 5 лет подряд получает сертификат Top Employer Moldova и Top Employer Europa благодаря успехам в политике кадров. Более того, Orange Grup получил сертификат Top Employer Global 2018 третий год подряд, будучи единственным в мире оператором, получившим сертификат Top Employer в 30 странах где присутствует Orange Grup, на 5 континентах.

Agenda detaliată

Partea 1: Prezentarea Tehnică

Evolving a Clean, Pragmatic Architecture - A Software Craftsman’s Guide

Scopul acestei prezentări este de a ajuta dezvoltatorii să proiecteze cod bine structurat, expresiv, concis, care rămâne flexibil și testabil pe parcursul anilor.

Talkul este un brainstorm intens, ce parcurge principalele decizii luate de obicei în arhitectura unei aplicații Enterprise. Intenția ascunsă este să provoace participanții să-și revizuiască cu simț critic arhitectura propriilor aplicații și să caute moduri în care să o simplifice sau să o restructureze spre o arhitectură hexagonală (aka “Clean Architecture”).

Ideea prezentării a luat naștere din încercarea de a balansa pragmatismul cu mentenabilitatea. Fără un refactoring continuu susținut, un design simplist va ceda repede sub presiunea schimbărilor și a noilor evoluții. Pe de altă parte, un cod proiectat excesiv de complex (overengineering) poate îngreuna debutul dezvoltării, sfârșind prin a “îngheța” designul în niște decizii a-priori rigide.

“Arhitectura reprezintă arta de a amâna deciziile”, susține Uncle Bob (Robert C. Martin). Această prezentare duce ideea mai departe și explică ceea ce Victor a ajuns să considere atitudinea ideală în proiectarea unei aplicații Enterprise: Evolving a Clean, Pragmatic Architecture.
* Pragmatic = Keep It Short & Simple = sa îți ții codul cât mai simplu
* Clean = Arhitectura Hexagonala (Dependency Inversion Principle)
* Evolutionary = Redesign Continuu odată cu incorporarea feature-urilor în dezvoltare
* Architecture = Care să asigure Comfortul Dezvoltatorilor
* Testable = Pentru a garanta Siguranța Dezvoltatorilor.

Acest talk este practic un rezumat al principiilor de design pe care Victor le-a distilat pe parcursul celor 5 ani în IBM ca Lead Arhitect, în care a proiectat și dezvoltat 8 aplicații Enterprise pentru un client din sectorul bancar (cel mai mare client al IBM Romania). Victor a predat și a răspândit această filozofie și în multe alte companii în cadrul trainingurilor sale, făcând mulți dezvoltatori sa înțeleagă mult mai profund argumentele din spatele arhitecturilor (“DE CE”-ul din spate).


Ce veți auzi:


1) Intro: KISS, Domain-Driven Design vs Transaction Script
2) Modelarea Datelor:
The Fit Entity, pe care o vei modela așa încât sa te ajute cât mai mult
Value Objects și Immutability
Data Transfer Objects, aflate sub influența inamicului
3) Extragerea Logicii
Mapper, care încapsulează conversia
Facade, unde ia naștere toată logica
Extragerea de Domain Services pentru KISS sau DRY
Logic Extraction Patterns
4) The Clean Architecture (“Onion”)
Dependency Inversion Principle, care să permită un domeniu “pur”
Repositories, ce ar trebui să punem în ele?
External Services, în ce fel să le apelăm?
5) Testare
Design Feedback
Each bug should be found Once!
Circle Of Purity: cum să proiectezi logica testabilă.


Partea 2: La alegere.
Pe parcursul pauzei, participanții vor putea vota live ce temă doresc să abordeze în cea de-a doua jumătate a întâlnirii. Opțiunile vor include fragmente din cele mai cerute trainignuri din curriculum lui Victor (http://www.victorrentea.ro/#training), cuprinzând și live-coding în Java. Opțiunile vor include:

  • Java8 (Stream+Lambda),
  • Mocking,
  • TDD Coding Kata,
  • Spring @Transactional sau
  • The Proxy Design Pattern in Spring.