Career 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.

Experiences

Java Developer / Architect

2018
Libor Freelancer Kramoliš

Java and Kotlin Developer, IT Architect, Technical Leader

Technical Leader - Engineering

2017 - 2018
AppDynamics (Cisco Systems), Prague

Refactoring and performance improvements of AppDynamics Controller Java EE application.

Principal Software Engineer

2013 - 2017
Oracle, Prague

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

Senior IT Architect / Head of Java EE development team

2012 - 2013
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.

IT Architect / Head of KB J2EE development framework team

2008 - 2011
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.

IT Architect / Senior Java Developer

2006 - 2008
Komerční banka, Prague

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

Senior Java developer & designer

2003 - 2006
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.

Senior Java developer

1999 - 2002
Sun Microsystems, Prague

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

Senior Java developer

1999
NetBeans, Prague

Design and development of GUI components and NetBeans IDE modules.

Selected Projects

Creative Dock

Customer loans application

2018
Client, advisor, and back-office application for customer loans.
  • Configure DB migration scripts using Flyway DB
  • Spring-based REST Error handling + Swagger documentation.
Technologies: Spring Boot, Swagger, Hibernate, MSSQL, Flyway DB, Kotlin, Camunda BPM.

Robot Reader

Fintech chatbot prototype

2018
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.
Technologies: Spring Boot, Reactor framework, PostgreSQL, NEWTON NanoGrid WebSockets, Korektor spellchecker, Docker, Mesosphere DC/OS, Spek framework, Kotlin.

AppDynamics (Cisco Systems)

AppDynamics Platform

2017 - 2018
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.
Technologies: Glassfish, MySql, Gradle, YourKit, jOOQ.

Oracle

Project Helidon - Configuration API

2017
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.
Technologies: Java 9, Yaml, Hocon, Etcd, JGit, Kubernetes ConfigMap.

Performance, Stress and Reliability testing platform

2016 - 2017
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.
Technologies: Etcd, Kafka, Redis, Logstash, Kibana, Grafana, Docker.

Microservices platform

2015 - 2016
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.
Technologies: Mesos / Marathon, JLine 2, Docker, Maven plugin.

Java microservices platform prototype

2014
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.
Technologies: Java 8, Spring Loaded, Hocon, Gradle, JLine 2, Swagger, WLST.

WebLogic / JRF JAX-RS integration

2013 - 2015
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.
Technologies: WLS 12.x, Perforce, OAuth.

JAX-RS RI (Jersey) development

2013 - 2015
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.
Technologies: JAX-RS 2, Jersey 2, Glassfish 4, Git/Gerrit, Kryo.

Komerční banka

Feasibility study of using NoSQL DB to store application logs

2013
  • analysis requirements, create prototype
Technologies: WAS 8, MongoDB, Work Manager.

Migrate obsolete J2EE framework to Java EE 6 platform

2012
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
Technologies: WAS 8, CDI, JAXB, JAX-WS, JBoss Arquillian.

Electronic forms Web Service (based on Adobe PDF Lifecycle)

2011
  • design of caching frequently used PDF templates
Technologies: WAS 6.1, Distributed Map.

Mobile bank loan calculator

2011
  • design REST API of existing loan calculator SOAP Web Service
Technologies: WAS 6.1, Jersey.

Shared service to process batches of payment requests

2010
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
Technologies: WAS 6.1, OracleDB, Mainframe, SFTP RA, JDBC, Distributed Map, Cluster Scheduler.

Shared service to compute fees

2009
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
Technologies: WAS 6.1, OracleDB, Hibernate, JBoss Drools, JProfiler.

REST API for JMX beans

2009
General extension to a corporate J2EE framework. Used to monitor service runtime via HTTP.
  • design and development of general extension
Technologies: WAS 6.1, Jersey 1.x.

Deployment model and application configuration system

2008
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, …)
Technologies: Flex, OracleDB, JMS, JMX, J2EE RA.

Maven build structure pattern

2007
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
Technologies: Maven plugins.

KB J2EE development framework

2007 - 2012
Custom IoC container. IBM WebSphere Application Server specific code generation. Other: logging, configuration, cache, etc.
  • design and development framework features
  • technical documentation, presentations
Technologies: WAS 6.1, AspectJ, APT, JMX.

Web application to manually manage daughter company records

2006
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
Technologies: WAS 6.1, OracleDB, Hibernate, JSF, AJAX, Acegi Security.

Corpus Solutions

The municipality of Prague

2006
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.
Technologies: Sun JES Portal, Servlet, XML Signature.

VZP (General Health Insurance Company)

2005
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.
Technologies: Servlet, JProfiler.

Ministry of Industry and Trade

2005
  • Design of Web Service interface.
  • Implementation of Web Service test client.
  • Validation of XML instance against w3c XML Schema definition.
Technologies: WSDL, XSD, JAXB.

Czech Statistics Organization (CzSO)

2004
Framework for implementation of CzSO processes.
  • Hibernate and JSF, feasibility study
Technologies: Hibernate, JSF.

Internal framework team

2003 - 2005
  • 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.
Technologies: Tomcat, Servlet, XML, Luntbuild, Maven.

Sun Microsystems / NetBeans

Development of Java IDE and application platform

1999 - 2002
  • 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.
Technologies: NetBeans, XML/XSLT, Swing.