SlideShare a Scribd company logo
Individual Professional
Practice in Tieto Czech s.r.o.
Nikita Kurpas
on the position of Software Developer Internship
Contents
● Job description
● Brief description of each project
● Detailed description of project “Karellen”
○ Goals
○ Architecture
○ Technologies
○ Modules
○ Results
● Final notes
Job description
● First month - System Engineer Internship
○ Minor code fixes, template coding in XWiki platform
○ Only a few tasks related to my position
● Later - Software Engineer Internship
○ Primary role - Java developer
○ Other roles - JavaScript developer, UI engineer
○ Internal and client projects
Projects
● Karellen
● NEO Denmark
● NEO Norway
● TRIP
● Karellen - a monitoring system
○ Role: backend developer, frontend developer
○ Tasks:
■ Developing backend modules
■ Developing GUI module
● NEO Denmark - backend for a mobile operator
○ Role: backend developer, frontend developer
○ Tasks:
■ Refactorings
■ Bug fixes
■ Rewriting existent project
● NEO Norway - backend for a mobile operator
○ Role: frontend developer
○ Tasks:
■ Integrating new technologies
● TRIP - doc. search and indexing database and GUI
○ Role: backend developer, frontend developer
○ Tasks:
■ Bug fixes
■ Developing new features on backend and
frontend
Project “Karellen”
Project “Karellen”
Goals
● Monitoring of applications,
databases, web servers, web
sites...
● Presenting data to the user in a
concise way
● Alerting user via Email, SMS,
TONE
● Exporting data to XML, Excel,
CSV
● Reporting and analysis
Project “Karellen”
Definitions
● Snapshot
● Entity
● Entity - a monitored “thing”: web server, database,
application server, etc…
● Snapshot - state of an entity at some point in time
Project “Karellen”
Architecture
● Microservices architecture
● Highly modular
● Communication: HTTP REST
● Modules (what was done):
○ Store
○ Configurator + GUI
○ Status engine
○ Dashboard
○ Collectors
■ Sniffers
● Each module: 3 tier architecture
○ Presentation tier
○ Logic tier
○ Data tier
Project “Karellen”
Technologies
● Java 8
● Spring framework
○ Spring boot
○ Spring DI
○ Spring MVC
● JPA
○ Hibernate ORM
○ Spring Data JPA
● JSF
○ PrimeFaces
● MySQL
Project “Karellen”
Store module
● Responsibilities
○ Store snapshots
○ Provide a RESTish API to
access them
● Architecture: 3 tier
○ Presentation tier
■ RESTish
controllers
○ Logic tier:
■ Services
■ Mappers
○ Data tier
■ Hibernate ORM
■ Spring data JPA
Project “Karellen”
Dashboard module
● Responsibilities
○ Present current status of
monitored entities to the
user
● Architecture: 3 tier
○ Presentation tier
■ JSF views and
managed beans
○ Logic tier:
■ Services
○ Data tier:
■ Status Engine
connector
■ Configurator
connector
Project “Karellen”
Status Engine
● Responsibilities
○ Provide entity status
based on recent
snapshots
○ Rate snapshots
● Architecture: 3 tier
○ Presentation tier
■ RESTish
controllers
○ Logic tier:
■ Services
■ Mappers
○ Data tier
■ Store connector
■ Configurator
connector
Project “Karellen”
● Finished at ~75% of planned
functionality
● New GUI written from scratch
using Material Design and
JavaScript
● Client refused to buy
● Project status: used internally
Results
Final notes
Practice evaluation
● Work was done thoroughly, in the best possible way I was capable of
● I have known or quickly learned the technologies needed to accomplish a
task
● I have been promoted to 2 higher grade projects
○ NEO Denmark
○ NEO Norway
Personal benefits
● Advanced a lot in Java SE and EE, JavaScript + ECMAScript 6, HTML, CSS,
Software Design
● Had intensive trainings from real professionals
● Had experience with old, bad and obsolete code
● Had experience rewriting projects from scratch and doing complex
refactorings
● Was able to communicate daily in English
Final notes
● Project “Karellen” - A+
● Project “NEO Denmark” - B
● Project “NEO Norway” - B
● Project “TRIP” - E
FOR YOUR ATTENTION
THANK YOU
Q&A
Microservices Architecture
● System is broken into multiple component services
● Those services are
○ Small
○ Independently deployable
○ Modular
○ Communicate through a well-defined interface
● Decentralized governance
● Separate databases (NoSQL or micro-SQL)
● Organises around business capabilities
Agile
● Short iterations (1-4 weeks)
● Customer Satisfaction
● Welcome Change
● Deliver a Working Software
● Collaboration
● Review the Work Regularly
● Measure the Progress as per the Working Software
Agile: The Manifesto
● Individuals and interactions over processes and tools
● Working software over comprehensive documentation
● Customer collaboration over contract negotiation
● Responding to change over following a plan

More Related Content

PDF
Grokking Techtalk #34: K8S On-premise: Incident & Lesson Learned ZaloPay Mer...
PDF
Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
PDF
Micheal Pershyn "Coljure 4 Big Data"
PDF
MSc Project - PaaSSOA on AWS
PDF
Using React.js to extend your CMS
PDF
OSMC 2018 | Stream connector: Easily sending events and/or metrics from the C...
PDF
OSMC 2018 | Visualization of your distributed infrastructure by Nicolai Buchwitz
PDF
DocDokuPLM presentation - OW2Con 2015 Community Award winner
Grokking Techtalk #34: K8S On-premise: Incident & Lesson Learned ZaloPay Mer...
Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
Micheal Pershyn "Coljure 4 Big Data"
MSc Project - PaaSSOA on AWS
Using React.js to extend your CMS
OSMC 2018 | Stream connector: Easily sending events and/or metrics from the C...
OSMC 2018 | Visualization of your distributed infrastructure by Nicolai Buchwitz
DocDokuPLM presentation - OW2Con 2015 Community Award winner

What's hot (20)

PDF
Mongo and ElasticSearch
PDF
QGIS UK: QGIS Performance Enhancements (Lutra Consulting)
PDF
Introduction to Fluvio Data Engineer.pdf
PDF
Micro Service Architect in K8S in ZaloPay Merchant Platform | Châu Nguyễn Nhậ...
PDF
Building RESTtful services in MEAN
PDF
Getting Started with the NetBeans Platform
PDF
OpenStack MagnetoDB. Atlanta Summit 2014
PDF
Andrii Sliusar "Module Architecture of React-Redux Applications"
PDF
BigData in IoT #iotconfua
PDF
How we build Videome
PDF
[WSO2Con EU 2018] Deploying Applications in K8S and Docker
PDF
Low TCO, high Impact: Innovative Government Services at Manatee County
PDF
[Ballerina Community Call] Data Access in Ballerina
PPTX
Cloud Native and CNCF
PDF
Planes de ejecucion 2016
PDF
Web App Prototypes with Google App Engine
PDF
QCon SF 2014 - Create and Deploy APIs using Web IDEs, Open Source Frameworks ...
PDF
Introduction to Modern DevOps Technologies
PDF
Initial presentation of openstack (for montreal user group)
Mongo and ElasticSearch
QGIS UK: QGIS Performance Enhancements (Lutra Consulting)
Introduction to Fluvio Data Engineer.pdf
Micro Service Architect in K8S in ZaloPay Merchant Platform | Châu Nguyễn Nhậ...
Building RESTtful services in MEAN
Getting Started with the NetBeans Platform
OpenStack MagnetoDB. Atlanta Summit 2014
Andrii Sliusar "Module Architecture of React-Redux Applications"
BigData in IoT #iotconfua
How we build Videome
[WSO2Con EU 2018] Deploying Applications in K8S and Docker
Low TCO, high Impact: Innovative Government Services at Manatee County
[Ballerina Community Call] Data Access in Ballerina
Cloud Native and CNCF
Planes de ejecucion 2016
Web App Prototypes with Google App Engine
QCon SF 2014 - Create and Deploy APIs using Web IDEs, Open Source Frameworks ...
Introduction to Modern DevOps Technologies
Initial presentation of openstack (for montreal user group)
Ad

Viewers also liked (6)

PDF
동탄오피 일산오피 부천오피 선릉역오피걸 무료성인자료
PDF
Voetbal decoratie
PPTX
Tradiciones Estribaciones de la cordillera de los Andes
PDF
DealFolio Survey of the Swedish Legal Market, Jan-Sept 2015
PPT
5 Must Haves for Launching a Successful Mobile Product
동탄오피 일산오피 부천오피 선릉역오피걸 무료성인자료
Voetbal decoratie
Tradiciones Estribaciones de la cordillera de los Andes
DealFolio Survey of the Swedish Legal Market, Jan-Sept 2015
5 Must Haves for Launching a Successful Mobile Product
Ad

Similar to Bachelor's Thesis Presentation (shortened) (20)

PDF
DOC
Resume-RDn-Detailed
PDF
cv_Gaichuk
PPTX
Melbourne Microservices Meetup: Agenda for a new Architecture
PDF
Microservices: The Best Practices
PDF
CV Jose Maria Estevez Canales - EN
DOCX
SamSegalResume
DOC
SHRINIDHI_H_A_Profile_updated
PPTX
JCommerce – success stories
PDF
CV_Vasili_Tegza 2G
PDF
Blasting Out of the Past with OSGi - Keith McFarlane
PDF
TRWResume-10-2016
PDF
UIT Telecoms Presentation
PPTX
L02 Architecture
DOCX
FastTrack'D Martin Zakov
PDF
Sam segal resume
PDF
Ahmed El Mawaziny CV
DOC
Satya_CV
PDF
MaciejPetzaCVEN 7
Resume-RDn-Detailed
cv_Gaichuk
Melbourne Microservices Meetup: Agenda for a new Architecture
Microservices: The Best Practices
CV Jose Maria Estevez Canales - EN
SamSegalResume
SHRINIDHI_H_A_Profile_updated
JCommerce – success stories
CV_Vasili_Tegza 2G
Blasting Out of the Past with OSGi - Keith McFarlane
TRWResume-10-2016
UIT Telecoms Presentation
L02 Architecture
FastTrack'D Martin Zakov
Sam segal resume
Ahmed El Mawaziny CV
Satya_CV
MaciejPetzaCVEN 7

Bachelor's Thesis Presentation (shortened)

  • 1. Individual Professional Practice in Tieto Czech s.r.o. Nikita Kurpas on the position of Software Developer Internship
  • 2. Contents ● Job description ● Brief description of each project ● Detailed description of project “Karellen” ○ Goals ○ Architecture ○ Technologies ○ Modules ○ Results ● Final notes
  • 3. Job description ● First month - System Engineer Internship ○ Minor code fixes, template coding in XWiki platform ○ Only a few tasks related to my position ● Later - Software Engineer Internship ○ Primary role - Java developer ○ Other roles - JavaScript developer, UI engineer ○ Internal and client projects
  • 4. Projects ● Karellen ● NEO Denmark ● NEO Norway ● TRIP ● Karellen - a monitoring system ○ Role: backend developer, frontend developer ○ Tasks: ■ Developing backend modules ■ Developing GUI module ● NEO Denmark - backend for a mobile operator ○ Role: backend developer, frontend developer ○ Tasks: ■ Refactorings ■ Bug fixes ■ Rewriting existent project ● NEO Norway - backend for a mobile operator ○ Role: frontend developer ○ Tasks: ■ Integrating new technologies ● TRIP - doc. search and indexing database and GUI ○ Role: backend developer, frontend developer ○ Tasks: ■ Bug fixes ■ Developing new features on backend and frontend
  • 6. Project “Karellen” Goals ● Monitoring of applications, databases, web servers, web sites... ● Presenting data to the user in a concise way ● Alerting user via Email, SMS, TONE ● Exporting data to XML, Excel, CSV ● Reporting and analysis
  • 7. Project “Karellen” Definitions ● Snapshot ● Entity ● Entity - a monitored “thing”: web server, database, application server, etc… ● Snapshot - state of an entity at some point in time
  • 8. Project “Karellen” Architecture ● Microservices architecture ● Highly modular ● Communication: HTTP REST ● Modules (what was done): ○ Store ○ Configurator + GUI ○ Status engine ○ Dashboard ○ Collectors ■ Sniffers ● Each module: 3 tier architecture ○ Presentation tier ○ Logic tier ○ Data tier
  • 9. Project “Karellen” Technologies ● Java 8 ● Spring framework ○ Spring boot ○ Spring DI ○ Spring MVC ● JPA ○ Hibernate ORM ○ Spring Data JPA ● JSF ○ PrimeFaces ● MySQL
  • 10. Project “Karellen” Store module ● Responsibilities ○ Store snapshots ○ Provide a RESTish API to access them ● Architecture: 3 tier ○ Presentation tier ■ RESTish controllers ○ Logic tier: ■ Services ■ Mappers ○ Data tier ■ Hibernate ORM ■ Spring data JPA
  • 11. Project “Karellen” Dashboard module ● Responsibilities ○ Present current status of monitored entities to the user ● Architecture: 3 tier ○ Presentation tier ■ JSF views and managed beans ○ Logic tier: ■ Services ○ Data tier: ■ Status Engine connector ■ Configurator connector
  • 12. Project “Karellen” Status Engine ● Responsibilities ○ Provide entity status based on recent snapshots ○ Rate snapshots ● Architecture: 3 tier ○ Presentation tier ■ RESTish controllers ○ Logic tier: ■ Services ■ Mappers ○ Data tier ■ Store connector ■ Configurator connector
  • 13. Project “Karellen” ● Finished at ~75% of planned functionality ● New GUI written from scratch using Material Design and JavaScript ● Client refused to buy ● Project status: used internally Results
  • 15. Practice evaluation ● Work was done thoroughly, in the best possible way I was capable of ● I have known or quickly learned the technologies needed to accomplish a task ● I have been promoted to 2 higher grade projects ○ NEO Denmark ○ NEO Norway
  • 16. Personal benefits ● Advanced a lot in Java SE and EE, JavaScript + ECMAScript 6, HTML, CSS, Software Design ● Had intensive trainings from real professionals ● Had experience with old, bad and obsolete code ● Had experience rewriting projects from scratch and doing complex refactorings ● Was able to communicate daily in English
  • 17. Final notes ● Project “Karellen” - A+ ● Project “NEO Denmark” - B ● Project “NEO Norway” - B ● Project “TRIP” - E
  • 19. Q&A
  • 20. Microservices Architecture ● System is broken into multiple component services ● Those services are ○ Small ○ Independently deployable ○ Modular ○ Communicate through a well-defined interface ● Decentralized governance ● Separate databases (NoSQL or micro-SQL) ● Organises around business capabilities
  • 21. Agile ● Short iterations (1-4 weeks) ● Customer Satisfaction ● Welcome Change ● Deliver a Working Software ● Collaboration ● Review the Work Regularly ● Measure the Progress as per the Working Software
  • 22. Agile: The Manifesto ● Individuals and interactions over processes and tools ● Working software over comprehensive documentation ● Customer collaboration over contract negotiation ● Responding to change over following a plan