Libor Kramoliš

Curriculum vitae

Libor Kramoliš

Java Developer, Software Architect, Technical Leader

Profile

I am a software architect, designer, and senior application developer. My primary programming language is Java, already since 1997. I have experience with design and development of Java EE applications since 2003 including development of SOAP / REST web services. During whole my career I often design and develop API or work for other developers (IDE, development framework, mentoring, troubleshooting). I can define development patterns or conventions. I can lead a small development team or participate in the training team.

I am a careful man. I do things in depth, I do not like superficial solutions. I can help the team to solve problems because of my knowledge and experience. I am a team player. I am a creative man, I like analyzing problems, doing the feasibility study and designing final solutions.

I love technology. I am interested in functional programming, event-driven and reactive patterns including the actor model. I even believe in the future of MDA. I love humor and good mood in the workplace.

Experience

2018

Java Developer / Architect · Libor Freelancer Kramoliš

  • Java and Kotlin Developer, IT Architect, Technical Leader.

2017 – 2018

Technical Leader - Engineering · AppDynamics (Cisco Systems), Prague

  • Refactoring and performance improvements of AppDynamics Controller Java EE application.

2013 – 2017

Principal Software Engineer · Oracle, Prague

  • Design and development of cloud-native Java libraries.
  • Design and development of JAX-RS RI + WebLogic integration.

2012 – 2013

Senior IT Architect / Head of Java EE development team · Komerční banka, Prague

  • Team leader of KB Java EE framework, services and applications development.
  • Analysis, design, and development of Java EE framework.
  • Design or review the architecture of services/applications developed by the team.
  • Application gestor of IT tools: Atlassian JIRA + Confluence, Subversion/GIT, Apache Archiva/Sonatype Nexus, Jenkins CI, JForum.

2008 – 2011

IT Architect / Head of KB J2EE development framework team · Komerční banka, Prague

  • Team leader of corporate J2EE framework development.
  • Analysis, design, and development of J2EE framework.
  • Design and development of J2EE Web Services.

2006 – 2008

IT Architect / Senior Java Developer · Komerční banka, Prague

  • Design and development of J2EE SOA applications.
  • Design and development of a corporate J2EE framework.

2003 – 2006

Senior Java developer & designer · Corpus Solutions, Prague

  • Development, optimization and refactoring of corporate framework based on Java Servlet & XML.
  • Internal Java training and mentoring.
  • Design and development of internet / intranet applications.

1999 – 2002

Senior Java developer · Sun Microsystems, Prague

  • Design and development of NetBeans IDE modules.
  • Technical documentation, communication with Open Source community.

1999

Senior Java developer · NetBeans, Prague

  • Design and development of GUI components and NetBeans IDE modules.

Selected projects

Creative Dock

2018

Customer loans application

Client, advisor, and back-office application for customer loans.

  • Configure DB migration scripts using Flyway DB
  • Spring-based REST Error handling + Swagger documentation.

Spring Boot · Swagger · Hibernate · MSSQL · Flyway DB · Kotlin · Camunda BPM

Robot Reader

2018

Fintech chatbot prototype

Chatbot prototype based on Datlowe technologies with a focus on finance domain.

  • Create individual microservice to merge successive user requests and chatbot answers into an overall dialog.
  • Integrate NEWTON NanoGrid WebSockets API to provide a voice to text functionality.

Spring Boot · Reactor framework · PostgreSQL · NEWTON NanoGrid WebSockets · Korektor spellchecker · Docker · Mesosphere DC/OS · Spek framework · Kotlin

AppDynamics (Cisco Systems)

2017 – 2018

AppDynamics Platform

Modularization and performance optimization of AppDynamics Controller Java EE application

  • Replace Message-driven EJBs by custom lightweight beans.
  • Modularization of selected parts of the Controller.
  • Custom executor service registry implementation.
  • Performance optimization with a focus on memory consumption.

Glassfish · MySql · Gradle · YourKit · jOOQ

Oracle

2017

Project Helidon - Configuration API

Modern and extensible Java API for reading application configuration. Support different sources and formats.

  • Design and development of library modules with a focus on API and core functionality, e.g. changes support based on Java 9 Flow.
  • Company-wide presentations of API design and usability.
  • Lead development of the library.

Java 9 · Yaml · Hocon · Etcd · JGit · Kubernetes ConfigMap

2016 – 2017

Performance, Stress and Reliability testing platform

Extensible platform for testing cloud services in a distributed environment with a focus on performance testing.

  • Design and development of the platform with a focus on testing agent functionality.
  • Developer guide documentation including training video.

Etcd · Kafka · Redis · Logstash · Kibana · Grafana · Docker

2015 – 2016

Microservices platform

Polyglot microservices platform with a focus on cloud deployment. Java framework to develop standalone microservices.

  • Design and development CLI of platform SDK.
  • Design and development of a standalone Java framework with a focus on Config API.

Mesos / Marathon · JLine 2 · Docker · Maven plugin

2013 – 2015

JAX-RS RI (Jersey) development

Jersey is a reference implementation of JAX-RS - RESTful Web services API.

  • Design and development of Jersey framework, e.g. tracing support.
  • Open source community communication, including blog posting.

JAX-RS 2 · Jersey 2 · Glassfish 4 · Git/Gerrit · Kryo

2013 – 2015

WebLogic / JRF JAX-RS integration

WebLogic Server is Java EE.

  • Integration JAX-RS / Jersey into WebLogic Server (WLS).
  • Design and development JAX-RS and OAuth support prototype.
  • Bug-fixing of core WLS functionality.

WLS 12.x · Perforce · OAuth

2014

Java microservices platform prototype

Microservices platform prototype with focus on developer productivity.

  • Architect whole platform.
  • Design and development of core functionality: configuration, runtime modes, automatic class reloading, Gradle plugin.
  • Team lead of 4 Java developers.

Java 8 · Spring Loaded · Hocon · Gradle · JLine 2 · Swagger · WLST

Komerční banka

2013

Feasibility study of using NoSQL DB to store application logs

  • analysis requirements, create prototype

WAS 8 · MongoDB · Work Manager

2012

Migrate obsolete J2EE framework to Java EE 6 platform

The goal is to migrate a subset of an old corporate J2EE framework to IBM WebSphere Application Server (WAS) v8 (Java EE 6).

  • design and development of new Java EE 6 framework
  • migration an existing service from JAX-RPC to JAXB/JAX-WS

WAS 8 · CDI · JAXB · JAX-WS · JBoss Arquillian

2007 – 2012

KB J2EE development framework

Custom IoC container. IBM WebSphere Application Server specific code generation. Other: logging, configuration, cache, etc.

  • design and development framework features
  • technical documentation, presentations

WAS 6.1 · AspectJ · APT · JMX

2011

Electronic forms Web Service (based on Adobe PDF Lifecycle)

  • design of caching frequently used PDF templates

WAS 6.1 · Distributed Map

2011

Mobile bank loan calculator

  • design REST API of existing loan calculator SOAP Web Service

WAS 6.1 · Jersey

2010

Shared service to process batches of payment requests

PL/SQL API with hundreds of thousands of payment requests a day. Integrates to other 3 services.

  • design and development of service
  • performance optimizations; parallel processing
  • team lead of 4 Java/DB developers

WAS 6.1 · OracleDB · Mainframe · SFTP RA · JDBC · Distributed Map · Cluster Scheduler

2009

REST API for JMX beans

General extension to a corporate J2EE framework. Used to monitor service runtime via HTTP.

  • design and development of general extension

WAS 6.1 · Jersey 1.x

2009

Shared service to compute fees

SOAP Web Service that used rule engine (Drools) to select appropriate fee configurations.

  • design and development of service
  • performance optimizations; parallel processing
  • team lead of 4 Java/DB developers

WAS 6.1 · OracleDB · Hibernate · JBoss Drools · JProfiler

2008

Deployment model and application configuration system

Web application (flash) to manage production and test deployment environment and any application configuration too. One application to manage them all.

  • whole solution architecture
  • development of Java part (JMS, JMX, RA, …)

Flex · OracleDB · JMS · JMX · J2EE RA

2007

Maven build structure pattern

Maven build refactoring and simplification. Shared Maven POM - common KB environment settings.

  • analysis of requirements
  • development of POM (maven site ready) and plugin to support it

Maven plugins

2006

Web application to manually manage daughter company records

The first KB SOA application, 5 integrated Web Services.

  • development of back-end (KB J2EE framework)
  • development of front end (JSF, Acegi), including AJAX calls

WAS 6.1 · OracleDB · Hibernate · JSF · AJAX · Acegi Security

Corpus Solutions

2006

The municipality of Prague

Internet / intranet Sun JES Portal server instances with custom portal applications. Integration of various applications/services to the portal.

  • Integration of external applications to portal desktop („mini-browser“)
  • Internationalization and localization of portal server and AM server.
  • Design customization of portal server and AM server.
  • Portal desktop configuration.
  • Design and implementation of Web Services.
  • XML-Signature, feasibility study.

Sun JES Portal · Servlet · XML Signature

2005

Ministry of Industry and Trade

  • Design of Web Service interface.
  • Implementation of Web Service test client.
  • Validation of XML instance against w3c XML Schema definition.

WSDL · XSD · JAXB

2005

VZP (General Health Insurance Company)

Internet portal for clients, partners, and employees of VZP. On-line applications for portal users. Integration with back-end systems in VZP.

  • Optimization and refactoring of server-side code.

Servlet · JProfiler

2003 – 2005

Internal framework team

  • Development, optimization, and refactoring of a corporate framework (called XQW) based on Java Servlet & XML. Implementation of tools to support development with XQW framework.
  • Implementation of core reusable components.
  • Internal Java training and mentoring.

Tomcat · Servlet · XML · Luntbuild · Maven

2004

Czech Statistics Organization (CzSO)

Framework for implementation of CzSO processes.

  • Hibernate and JSF, feasibility study

Hibernate · JSF

Sun Microsystems / NetBeans

1999 – 2002

Development of Java IDE and application platform

  • Design and development of NetBeans IDE modules: XML (Model XML, DTD, XML Schema, XSLT, Entity Catalog, etc.), Find in Files, PDF, Open File, etc.
  • Module web pages generated from XML by XSLT transformation.
  • Technical documentation, communication with Open Source community.
  • Design and implementation of GUI components.

NetBeans · XML/XSLT · Swing

Skills

Languages

Education

1994 – 2000

MSc in Mathematical Informatics · Palacky University, Olomouc

Thesis: Develop UML CASE tool in distributed environment. Team work of 10 students realized in Java and CORBA.

Central European ACM programming contest in 1997 and 1998.