23.01.2018

Orange {kITchen} te invită la prima ediție inspiratiON session, dedicată comunității IT din Moldova

După ce am lansat împreună Orange {kITchen}, o nouă rețetă de a lucra în IT, cu un spațiu modern destinat campusului IT al companiei - Orange Systems, anunțăm prima ediție inspiratiON session dedicată comunității IT din Moldova.

Prin astfel de evenimente inspiraționale, Orange Systems reiterează ambiția de a dezvolta domeniul IT sub marca creativității, calității și competitivității.

Invitatul special al evenimentului este unul dintre cei mai cunoscuți și apreciați traineri tehnici din București, Victor Rentea, care vine la Chișinău să vorbească despre: Evolving a Clean, Pragmatic Architecture - A Software Craftsman's Guide.

Cu 15 ani de carieră, dintre care, pe parcursul ultimilor 5 ani Victor a predat la peste 1000 de dezvoltatori în peste 150 de zile de sesiuni in-house susținute în 20 de companii din Romania și din Europa. În 2018 a fondat ‘Bucharest Software Craftsmanship Community’, unde desfășoară regulat evenimente remote gratuite pentru comunitate. În prezent, Victor este Lead Architect la IBM România. Vorbește nativ Java, dar și PHP, Scala, JS si C# și se definește a fi Software Craftsman, practicând tehnici de eXtreme Programming, cum ar fi Pair Programing, Continuous Refactoring și TDD.

Cine poate participa la eveniment

  1. Persoanele care dețin cunoștințe de bază despre conceptele OOP (programare orientată pe obiecte);
  2. Persoanele care își fac studiile în domeniul IT sau au absolvit o universitate de profil;
  3. Persoanele care activează în domeniul IT.

Evenimentul va avea loc pe 31 ianuarie, la Orange {kITchen}, Calea Ieșilor 8, ZTower Business Center, cu începere de la ora 18.00. Participarea la eveniment este gratuită, în limita locurilor disponibile.

Agenda:

18.00 – 18.30: Înregistrarea
18.30 – 19.30: Prezentarea Tehnică - Evolving a Clean, Pragmatic Architecture
19.30 – 20.00: Break + Snacks
20.00 – 21.00: Partea a doua: la alegerea participanților și live-coding în Java.

Pentru a-ți asigura un loc, completează formularul și primește confirmarea pe e-mail cu o zi înainte de eveniment.

Pentru întrebări, ne poți contacta la orange@orange.md.

Despre Orange Systems

Orange Systems, este hub-ul IT al Orange Moldova, rezident al parcului IT, în care se regăsesc peste 350 de angajaţi. Mai mult de 50 la sută dintre specialişti prestează servicii de IT nearshoring pentru parteneri externi, în următoarele domenii: software development, testarea şi asigurarea calităţii, controlul şi managementul proiectelor IT, automatizarea proceselor, business intelligence şi big data. Orange Systems are ambiția de a dezvolta domeniul IT sub marca creativității, calității și competitivității, prin crearea de produse software proprii și centre locale de excelență.

Orange Moldova, pe parcursul a cinci ani consecutiv, a obţinut certificarea Top Employer Moldova şi Top Employer Europa graţie succeselor obţinute în domeniul politicilor de resurse umane. Mai mult decât atât, Grupul Orange a obţinut certificarea Top Employer Global 2018 pentru al treilea an consecutiv, fiind singurul operator certificat Top Employer din lume, în 30 de ţări ale Grupului, pe 5 continente.

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.